React 組件的生命周期方法


 React 組件的生命周期方法

按渲染順序:

1: UNSAFE_componentWillMount() – 在渲染之前執行,在客戶端和服務器端都會執行。

2: componentDidMount() – 僅在第一次渲染后在客戶端執行。

3: UNSAFE_componentWillReceiveProps()– 當從父類接收到 props 並且在調用另一個渲染器之前調用,父組件初始化的時候不會調用。一個常見的誤解是,當props“改變”時,getDerivedStateFromPropscomponentWillReceiveProps才會被調用。事實上,只要父組件重新渲染,這些生命周期函數就會被調用,不管這些props是否與以前“不同”

3: shouldComponentUpdate() – 根據特定條件返回 true 或 false。如果你希望更新組件,請返回true 否則返回 false。默認情況下,它返回 false。當這個方法返回false的時候,整個組件(類)都不會再執行(渲染)下去,所以最好在不會影響其他組件的組件里使用此方法。shouldComponentUpdate最好作為性能優化使用,而不是為了確保派生狀態的正確性

4: UNSAFE_componentWillUpdate() – 在 DOM 中進行渲染之前調用。

5: componentDidUpdate() – 在渲染發生后立即調用。

6: componentWillUnmount() – 從 DOM 卸載組件后調用。用於清理內存空間。

7:  getDerivedStateFromProps() - 在組件實例化以及接收新props后調用。它可以返回一個對象來更新state,或者返回null來表示新的props不需要任何state更新。 與componentDidUpdate一起,這個新的生命周期應該覆蓋傳統componentWillReceiveProps的所有用例。

8: getSnapshotBeforeUpdate() -  在更新之前被調用(例如,在DOM被更新之前)。此生命周期的返回值將作為第三個參數傳遞給componentDidUpdate。 與componentDidUpdate一起,這個新的生命周期將覆蓋舊版componentWillUpdate的所有用例。

9: componentDidCatch(error, info)如果 render() 函數拋出錯誤,則會觸發該函數。

10: getDerivedStateFromError(error) - 此生命周期會在后代組件拋出錯誤后被調用。 它將拋出的錯誤作為參數,並返回一個值以更新 state


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM