我认为当调用componentWillUpdate
时,我可以从this.state
读取最新状态,即状态。但是,在我仔细检查文件后,我意识到自己错了。事实是,即使在componentWillUpdate
之后调用this.state
,它仍会读取“旧”字样。州。这个设计有什么意义? componentWillUpdate
如何有用?
答案 0 :(得分:5)
componentWillUpdate
是一个React生命周期方法(参见此处:https://facebook.github.io/react/docs/component-specs.html#lifecycle-methods),在渲染之前立即调用,这是对this.setState
的调用。这就是为什么旧状态仍然可供您使用,以及它对您有用的原因超出了本网站imho的范围(可用于进行api调用记录已发生的操作,注意到之前的状态或各种各样的事情。)
请注意,componentWillUpdate
确实接收nextState作为传递给它的对象,因此如果你也想要它们,你可以在那里访问它们。
如果您在渲染后想要获取状态,则应该查看componentDidUpdate
,然后它将具有旧状态。