React相似VueJs同樣具備本身的生命週期,它們的生命週期都會經歷三個階段:掛載、更新、卸載,而每個階段都有其對應的不一樣的鉤子函數,只有充分了解其生命週期,在進行編碼的過程當中才能在不一樣的鉤子函數中作咱們本身想作的事情
圖片來源:https://github.com/wojtekmaj/...
使用類組件而不是常規函數的一個優勢是可以使用特殊的React方法或鉤子來容許咱們更新UI和應用程序狀態。瞭解什麼時候使用每種方法對於按照咱們所但願的方式加載應用程序很是重要。
咱們將針對React生命週期的三個階段進行討論:react
當建立一個組建的時候,它會掛載到DOM上。
constructor()git
static getDerivedStateFromProps(nextProps, prevState)github
render()性能優化
componentDidMount()函數
Demo運行結果圖:
https://github.com/huangche00...性能
https://github.com/huangche00...優化
每當一個組件的state和props改變的時候,將在頁面上從新進行渲染編碼
static getDerivedStateFromProps(nextProps, prevState)spa
shouldComponentUpdate(nextProps, nextState)component
render()
getSnapshotBeforeUpdate(prevProps, prevState)
componentDidUpdate(previousProps, previousState, snapshot)
Demo運行結果圖:
https://github.com/huangche00...
https://github.com/huangche00...
在此階段,組件將被刪除並從DOM中清除
componentWillUnmount