不应该在 componentWillUpdate
生命周期办法中间接批改 state
的值,因为这样做可能导致谬误。
在 componentWillUpdate
生命周期办法中,依然能够拜访以后组件的 state
和 props
,然而更改它们的值可能会导致不可预感的后果 。这是因为该生命周期办法触发时,组件的状态正在被更新,如果在此时更改状态会导致组件进入有限循环的状态 。
如果须要更改状态,倡议应用 setState()
办法,它应该在 componentWillUpdate()
办法调用完结当前,通过 componentDidUpdate()
生命周期办法进行操作,保障不会在以后更新周期中产生副作用。
在 componentDidUpdate
生命周期办法中,能够依据新的 state
和 props
做出响应,并调用 setState()
触发新的更新周期。