# React組件生命周期
React組件的生命周期分為三大階段
## 組件創建階段:
組件創建階段的生命周期函數,有一個顯著的特點:創建階段的生命周期函數,在組件的一輩子中,只執行一次;
> constructor 組件初始時自動調用
> componentWillMount: 組件將要被掛載,此時還沒有開始渲染虛擬DOM render:第一次開始渲染真正的虛擬DOM,當render執行完,內存中就有了完整的虛擬DOM了
> render(){}渲染成虛擬dom,將來可以用來去和老的虛擬dom進行diff算法。 頁面中沒有效果
> componentDidMount: 組件完成了掛載,此時,組件已經顯示到了頁面上,當這個方法執行完,組件就進入都了 運行中 的狀態
## 組件運行階段
也有一個顯著的特點,根據組件的state和props的改變,有選擇性的觸發0次或多次;
> componentWillReceiveProps: 組件將要接收新屬性,此時,只要這個方法被觸發,就證明父組件為當前子組件傳遞了新的屬性值;可以接收新的props和state,但是并未更新
> shouldComponentUpdate: 組件是否需要被更新,此時,組件尚未被更新,可以接收新的props和state,但是并未更新
> componentWillUpdate: 組件將要被更新,此時,尚未開始更新,可以接收新的props和state,內存中的虛擬DOM樹還是舊的
> render: 此時state 和 props,已經是最新的,被更新的同時 重新渲染一棵內存中的 虛擬DOM樹,當 render 調用完畢,內存中的舊DOM樹,已經被新DOM樹替換了!此時頁面還是舊的
> componentDidUpdate: 此時,頁面又被重新渲染了,state 和 虛擬DOM 和 頁面已經完全保持同步
## 組件銷毀階段:
也有一個顯著的特點,一輩子只執行一次;
> componentWillUnmount: 組件將要被卸載,此時組件還可以正常使用;
也可以參照下圖來進行理解(不用重點掌握后面通過案例我們來了解就可以了)


# 總結
在這章節課程中,我們需要知道解React的生命周期,分三階段。初始,運行,銷毀。
通過下一章節的案例來達到熟練應用即可。
- webpack復習
- React基礎
- 前端三大主流框架對比
- React中幾個核心的概念
- React基礎語法
- React JSX語法
- React組件
- 普通組件
- 組件通信-父向子傳遞
- 組件拆成單個文件
- 面向對象復習
- Class組件基礎
- Class組件的私有狀態(私有數據)
- 案例:實現評論列表組件
- 組件樣式管理
- 組件樣式分離-樣式表
- CSS模塊化
- 生命周期
- React組件生命周期
- Counter組件來學習組件生命周期
- 生命周期總結
- 生命周期案例
- React評論列表
- React雙向數據綁定
- React版todolist
- 其它提高(了解)
- 組件默認值和數據類型驗證
- 綁定this并傳參的三種方式
- 祖孫級和非父子組件傳遞數據(了解)
- React路由
- 路由基礎
- 動態路由
- 路由嚴格模式
- 路由導航定位
- 路由重定向
- 路由懶加載
- WolfMovie項目
- 項目初始化
- AntDesign使用
- 其它相關了解