React 生命週期
React 生命週期
生命週期圖解
初始階段
- 設置默認屬性 (defaultProps), 設置屬性類型 (propTypes)
- 初始化狀態 (state = {})
- componentWillMount() -> 生命週期函數,在組件即將渲染前觸發,能夠作初始化數據顯示。(注意:這個方法已經被標爲不安全方法,官方不推薦使用)
- render() -> 觸發了組件渲染
- componentDidMount() -> 此時的組件已經生成了DOM結構,能夠進行有關操做。能夠使用此方法替換
componentWillMount
運行時
- componentWillReceiveProps() -> 當
props
發生變化的時候,也就是說父組件改變的時候會調用這個方法。可是注意的是,這個方法在初始化render的時候不會執行的
- shouldComponentUpdate() -> 組件接收到新屬性時,或者組件狀態改變時候出發組件更新,在組件初始化渲染的時候不會觸發,這個函數能夠作爲優化組件性能的選擇。在
react
項目中更新一個組件可能須要其父組件更新,可是一個父組件下可能還會有別的子組件,一旦父組件更新了狀態,那麼全部子組件都要執行 render
方法,這樣就太耗費性能了。因此能夠使用 shouldComponentUpdate()
方法判斷是否應該更新。其實你還能夠經過繼承 PureComponent
類,若是繼承了這個類,那麼在組件更新時候就會先去和以前的屬性判斷,從而判斷是否應該更新
- componentWillUpdate() -> 組件即將被觸發更新
- componentDidUpdate() -> 組件更新完成後生成新DOM
銷燬階段
- componentWillUnmount() -> 這是在組件被銷燬時執行的方法。
歡迎關注本站公眾號,獲取更多信息