【发布时间】:2018-04-16 06:41:21
【问题描述】:
有时 setState 本身并不能完全正常工作,我正在添加小超时来做到这一点。 我的第一个问题是;
1-) 为什么 setState 有时无法立即工作?
2-) 添加setTimeout是否正确? - 它的延迟很小,比如 10 毫秒,没什么,但它使我的代码能够工作并更新状态。
当我在 Angular1 中编码时,我们有时会使用 $timeout 作为范围来应用这些更改。但是这样做是可以的,在 React 中我不确定这一点。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您能否提供几行代码来说明您要实现的目标?
-
setState 是异步的。这意味着 setState 不保证 this.state.property 会立即反映更新的值。 setState 中有一个回调参数,将在状态更新后触发。
-
你是在类组件的构造函数中调用
setState吗? -
@CapitanFindus - 其实很简单。只是尝试更新状态,但没有 setTimeout 它不起作用,这可能是什么原因?
-
向我们展示您的代码!不要想知道是什么导致了这种行为,向我们展示您的代码,以便我们提供帮助!
标签: javascript reactjs