Component Lifecycle
元件的主要三個生命週期如下:
- Mounting: 準備要掛載實際 dom 節點時
- Updating: state 異動要重新 render 時
- Unmounting: 即將卸載時
Lifecycle Events
Mounting
- getInitialState(): object
於掛載前觸發,若有元件有特定 state 應在此方法中定義與回傳
- componentWillMount()
於掛載前觸發
- componentDidMount()
於掛載後觸發
Updating
- componentWillReceiveProps(object nextProps)
於掛載後收到新的 props 時觸發,這方法應該用來比較 this.props 和 nextProps 後再用 this.setState() 設定新的狀態
- shouldComponentUpdate(object nextProps, object nextState): boolean
此方法用來定義是否觸發 render 行為
- componentWillUpdate(object nextProps, object nextState)
於收到更新且實際執行 render 前觸發
- componentDidUpdate(object prevProps, object prevState)
於收到更新且實際執行 render 後觸發
Unmounting
- componentWillUnmount()
於移除 dom 節點前觸發