我是 React 的新手,正在学习 setState 是如何在幕后工作的。因此,我想就此提出一些问题。首先,setState 总是异步的吗?如果不是在什么一般情况下它是同步的。其次,setState中的异步是如何通过web api执行然后回调队列的?伙计们,如果不清楚,请告诉我。我真的需要你的帮助。
最佳答案
是的。它总是异步的,从不同步。 开发人员常犯的错误是这样的
handleEvent(newValue) {
this.setState({ value: newValue }, () => {
// you can get the updated state here
console.log(this.state.value)
})
this.doSomething(newValue)
}
doSomething(newValue) {
// this.state.value is still the old value
if (this.state.value === newValue) {
// blabla
}
}
而且您无法确定状态更新需要多长时间。
关于javascript - 既然setState是异步的,那么它是通过回调队列执行的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57721530/