博客 / 詳情

返回

componentWillUpdate可以直接修改state的值嗎

不應該在 componentWillUpdate 生命週期方法中直接修改 state 的值,因為這樣做可能導致錯誤。

componentWillUpdate 生命週期方法中,仍然可以訪問當前組件的 stateprops,但是更改它們的值可能會導致不可預見的結果。這是因為該生命週期方法觸發時,組件的狀態正在被更新,如果在此時更改狀態會導致組件進入無限循環的狀態

如果需要更改狀態,建議使用 setState() 方法,它應該在 componentWillUpdate() 方法調用結束以後,通過 componentDidUpdate() 生命週期方法進行操作,保證不會在當前更新週期中產生副作用。

componentDidUpdate 生命週期方法中,可以根據新的 stateprops 做出響應,並調用 setState() 觸發新的更新週期。

user avatar flymon 頭像 user_p5fejtxs 頭像 tofrankie 頭像 yangkaiqiang 頭像 bd_68bd40c5df395 頭像 xuriliang 頭像 heptagon 頭像 tempest_619c7f9d4e321 頭像 jidongdemogu 頭像 harryfyodor 頭像 denzel 頭像 taoqun 頭像
15 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.