异步setState和处理程序

时间:2015-03-01 17:06:39

标签: reactjs

我知道setState调用可以批处理并且是异步的。但是,我无法找到有关处理设置新状态的最终边界的信息。

我特别感兴趣的是,在应用来自前一个处理程序的状态更新之前是否可以调用另一个处理程序代码。 这可能吗?

示例:

1. Render

2. Handler A
  setState(a: 1)

3. Render

4. Handler B
  if this.state.a == 1 // can this get state not updated by Handler1

1 个答案:

答案 0 :(得分:0)

我认为你在寻找

componentWillUpdate

在其他组件设置状态后调用此方法,这将导致组件呈现,但在组件的状态实际更改之前,以及组件呈现之前。您可以使用此方法读取状态,但无法设置它。 (因为状态转变已在进行中)

如果您希望能够在组件中读取和设置状态,请查看

componentWillReceiveProps

详细信息位于http://facebook.github.io/react/docs/component-specs.html