React生命週期主要有7中:性能優化
1. componentWillMount() :組件將要掛載時觸發 ,只調用1次性能
2. componentDidMount() :組件掛載完成時觸發,只調用1次優化
3. componentWillReceiveProps(newProps) :只有props改變時觸發(state改變不會觸發),能夠在方法中改變state。其中傳入參數newProps爲新的props值spa
4. shouldComponentUpdate(newState,newProps) :只要props或者state改變就會觸發,它有1個返回布爾值,返回false後、後面的更新就不會執行了,返回ture則要執行。這樣就能夠用該方法阻止最後界面的渲染,可作性能優化。(不能在方法中改變state)component
5. componentWillUpdate() :即將更新的時候觸發,props和state改變都會觸發,不能再方法中改變stateblog
6. componentDidUpdate() :更新完成時觸發,props和state改變都會觸發,不能再方法中改變statetoken
7. componentWillUnmount() :組件銷燬時觸發生命週期
全部時間出發前後順序以下圖示:class
注意:在render /shouldComponentUpdate /componentWillUpdate / componentDidUpdate這4個方法中不能調用改變state的方法、也不能改變state,不然會形成死循環調用,即state狀態改變,而後自動又觸發了狀態改變的方法。
渲染