componentWillUpdate读取旧状态

时间:2016-06-20 00:41:08

标签: reactjs

我认为当调用componentWillUpdate时,我可以从this.state读取最新状态,即状态。但是,在我仔细检查文件后,我意识到自己错了。事实是,即使在componentWillUpdate之后调用this.state,它仍会读取“旧”字样。州。这个设计有什么意义? componentWillUpdate如何有用?

1 个答案:

答案 0 :(得分:5)

componentWillUpdate是一个React生命周期方法(参见此处:https://facebook.github.io/react/docs/component-specs.html#lifecycle-methods),在渲染之前立即调用,这是对this.setState的调用。这就是为什么旧状态仍然可供您使用,以及它对您有用的原因超出了本网站imho的范围(可用于进行api调用记录已发生的操作,注意到之前的状态或各种各样的事情。)

请注意,componentWillUpdate确实接收nextState作为传递给它的对象,因此如果你也想要它们,你可以在那里访问它们。

如果您在渲染后想要获取状态,则应该查看componentDidUpdate,然后它将具有旧状态。