Javascript 为什么一个状态变量在更新而另一个不在更新?
我是一个全新的反应者,我认为我做的是正确的。我正在努力为我正在开发的一个琐事游戏记分。当我设置状态时,分数正在更新,但正确回答的数量没有更新。有趣的是,只有当我将站点部署到firebase时才会出现这种情况,在本地提供服务时,它才能正常工作 此功能位于父游戏组件中。this.state.points在递增,this.state.numberCorrect/increct不在递增Javascript 为什么一个状态变量在更新而另一个不在更新?,javascript,reactjs,firebase,Javascript,Reactjs,Firebase,我是一个全新的反应者,我认为我做的是正确的。我正在努力为我正在开发的一个琐事游戏记分。当我设置状态时,分数正在更新,但正确回答的数量没有更新。有趣的是,只有当我将站点部署到firebase时才会出现这种情况,在本地提供服务时,它才能正常工作 此功能位于父游戏组件中。this.state.points在递增,this.state.numberCorrect/increct不在递增 childSubmitAnswer(dataFromChild) { if (dataFromChild.corr
childSubmitAnswer(dataFromChild) {
if (dataFromChild.correct === true) {
this.setState((prevState) => {
return {
numberCorrect: prevState.numberCorrect++,
points: prevState.points + dataFromChild.points
}
});
} else {
this.setState((prevState) => {
return {
numberIncorrect: prevState.numberIncorrect++,
points: prevState.points - dataFromChild.points
}
});
}
console.log(this.state.numberCorrect);
}
这是在显示问题的子组件中调用的函数
handleSubmit(event) {
event.preventDefault();
let verification = new AnswerVerification();
this.answerSubmitted();
if (verification.verifyAnswer(this.state.submissionValue, this.state.answer)) {
let data = {
correct: true,
points: this.props.points
}
this.props.childSubmitAnswer(data);
} else {
let data = {
correct: false,
points: this.props.points
}
this.props.childSubmitAnswer(data);
}
}
再见,我想问题出在
childSubmitAnswer
函数上。尝试这样修改它:
childSubmitAnswer(dataFromChild) {
if (dataFromChild.correct === true) {
this.setState((prevState) => {
return {
numberCorrect: prevState.numberCorrect + 1,
points: prevState.points + dataFromChild.points
}
});
} else {
this.setState((prevState) => {
return {
numberIncorrect: prevState.numberIncorrect + 1,
points: prevState.points - dataFromChild.points
}
});
}
console.log(this.state.numberCorrect);
}
说明:在Javascript中,在操作数之后使用++时,将在增加操作数之前返回值。例如:
let a = 0;
console.log(a++); // shows 0
console.log(a); // shows 1
为什么这篇文章被否决了?我很肯定这是正确的解决办法。