Я в основном работаю над приложением, в котором люди могут задавать вопросы. Поэтому, когда пользователь задает новый вопрос, я обновляю свой магазин redux. И затем я sh вносил изменения в firebase. Но дело в том, что новые изменения не отражаются в firebase, поскольку обновление redux занимает некоторое время, и к этому времени функция обновления firebase уже была вызвана. Как мне изменить это?
Код, в котором я обновляю свой магазин и вызываю обновление firebase.
this.props.newQuestion(this.state.addedData);
console.log("Hello there " + JSON.stringify(this.props.user));
let temp = this.props.user;
console.log("This is temp" + JSON.stringify(temp));
firestore()
.collection("users")
.doc(this.props.user.id)
.update({
user: temp,
})
.then(() => {
console.log("From the then" + JSON.stringify(this.props.user));
console.log("User updated!");
})
.catch((err) => {
console.log(err);
});
Определение моего диспетчера для этой функции обновления redux -
case ADD_QUESTION:
//console.log("From the actions" + JSON.stringify(action.question));
return {
...state,
user: {
id: state.user.id,
name: state.user.name,
email: state.user.email,
courses: state.user.courses,
// adding the new question everytime
questions: state.user.questions.concat(action.question),
},
};