乐趣区

关于react.js:componentWillUpdate可以直接修改state的值吗

不应该在 componentWillUpdate 生命周期办法中间接批改 state 的值,因为这样做可能导致谬误。

componentWillUpdate 生命周期办法中,依然能够拜访以后组件的 stateprops,然而更改它们的值可能会导致不可预感的后果 。这是因为该生命周期办法触发时,组件的状态正在被更新,如果在此时更改状态会导致组件进入有限循环的状态

如果须要更改状态,倡议应用 setState() 办法,它应该在 componentWillUpdate() 办法调用完结当前,通过 componentDidUpdate() 生命周期办法进行操作,保障不会在以后更新周期中产生副作用。

componentDidUpdate 生命周期办法中,能够依据新的 stateprops 做出响应,并调用 setState() 触发新的更新周期。

退出移动版