首页 > 解决方案 > React js 状态更新

问题描述

我很惊讶为什么这个 setState 函数在下面的例子中的 log 语句之后执行

someMethod = value => {
  this.setState({
    value
  })
  console.log("parent",this.state.value);
}

result : value 的前一个值,第一次是未定义的

标签: javascriptreactjs

解决方案


正如@Yossi 所说, setState 是异步的。如果您需要稍后执行日志,您可以像这样在 setState 中使用回调

this.setState({value}, () => console.log("parent":this.state.value));

推荐阅读