組件的生命周期可分成三個狀態(tài):
- Mounting:已插入真實 DOM
- Updating:正在被重新渲染
- Unmounting:已移出真實 DOM
生命周期的方法有: - componentWillMount 在渲染前調(diào)用,在客戶端也在服務(wù)端。
- componentDidMount : 在第一次渲染后調(diào)用,只在客戶端悔据。之后組件已經(jīng)生成了對應(yīng)的DOM結(jié)構(gòu),可以通過this.getDOMNode()來進行訪問。 如果你想和其他JavaScript框架一起使用家乘,可以在這個方法中調(diào)用setTimeout, setInterval或者發(fā)送AJAX請求等操作(防止異部操作阻塞UI)泻帮。
- componentWillReceiveProps 在組件接收到一個新的prop時被調(diào)用。這個方法在初始化render時不會被調(diào)用都弹。
- shouldComponentUpdate 返回一個布爾值娇豫。在組件接收到新的props或者state時被調(diào)用。在初始化時或者使用forceUpdate時不被調(diào)用畅厢。
可以在你確認不需要更新組件時使用冯痢。 - componentWillUpdate在組件接收到新的props或者state但還沒有render時被調(diào)用。在初始化時不會被調(diào)用框杜。
- componentDidUpdate 在組件完成更新后立即調(diào)用浦楣。在初始化時不會被調(diào)用。
- componentWillUnmount在組件從 DOM 中移除的時候立刻被調(diào)用咪辱。