【发布时间】:2023-03-16 04:56:01
【问题描述】:
this.setState(prevState => ({
score: prevState.score + 10,
rightAnswers: prevState.rightAnswers + 1,
currentQuestion: setTimeout(() => {
prevState.currentQuestion + 1
}, 2000)
}))
}
点击按钮我改变了状态。我的目标是延迟 currentQuestion 状态更改,在此期间我想显示某些状态消息,但我想立即更新分数而不会延迟。
这样做的正确方法是什么?
PS:这个变体不起作用,它是为了整体表示我想做的事情。
谢谢。
【问题讨论】:
-
setTimeoutinsetState不仅在语法上而且在概念上都是错误的:如果您想在指定的时间后再次更改状态,然后再调用@ 987654325@ 内setTimeout。一个随机的例子:medium.com/@machadogj/… -
你是对的,谢谢。我最初认为应该有 2 个 setStates,但希望也许我可以只用 1 个
标签: javascript reactjs settimeout setstate timedelay