【发布时间】:2021-11-11 14:42:10
【问题描述】:
我对 setState 的工作方式感到困惑。
这是我的代码的一部分:
handleBarsChange(value) {
this.setState({numberOfbars: value});
this.resetArray();
}
显然,当resetArray() 函数执行并尝试访问this.state.numberOfbars 状态变量时,setState 尚未更新该值。
我想解释一下 setState 应该如何以及在哪里执行,我什么时候可以看到变化。
谢谢!
【问题讨论】:
-
我什么时候可以看到变化 - 通常是下一次渲染。然而,在
setState类中,您可以传递一个回调,该回调将在状态更新后 执行。所以你可以做this.setState({...}, this.resetArray()) -
你试过在这个网站上搜索“setState asynchronous”吗?关于这个话题已经有很多个问题了。
-
请不要给我反应文档链接 - 这不是一个真正有用的态度......如果文档是你需要指出的地方,你应该对他们开放 - reactjs.org/docs/react-component.html#setstate
标签: javascript reactjs