1. 程式人生 > >React Native 元件生命週期

React Native 元件生命週期

1.元件生命週期
元件的生命週期包含三個主要部分:

掛載: 元件被插入到DOM中。
更新: 元件被重新渲染,查明DOM是否應該重新整理。
移除: 元件從DOM中移除。
React提供生命週期方法,你可以在這些方法中放入自己的程式碼。我們提供will方法,會在某些行為發生之前呼叫,和did方法,會在某些行為發生之後呼叫。

掛載
getInitialState(): object在元件被掛載之前呼叫。狀態化的元件應該實現這個方法,返回初始的state資料。
componentWillMount()在掛載發生之前立即被呼叫。
componentDidMount()在掛載結束之後馬上被呼叫。需要DOM節點的初始化操作應該放在這裡。
更新


componentWillReceiveProps(object nextProps)當一個掛載的元件接收到新的props的時候被呼叫。該方法應該用於比較this.props和nextProps,然後使用this.setState()來改變state。
shouldComponentUpdate(object nextProps, object nextState): boolean當元件做出是否要更新DOM的決定的時候被呼叫。實現該函式,優化this.props和nextProps,以及this.state和nextState的比較,如果不需要React更新DOM,則返回false。
componentWillUpdate(object nextProps, object nextState)在更新發生之前被呼叫。你可以在這裡呼叫this.setState()。
componentDidUpdate(object prevProps, object prevState)在更新發生之後呼叫。
移除

componentWillUnmount()在元件移除和銷燬之前被呼叫。清理工作應該放在這裡。
掛載的方法(Mounted Methods)
掛載的複合元件也支援如下方法:

getDOMNode(): DOMElement可以在任何掛載的元件上面呼叫,用於獲取一個指向它的渲染DOM節點的引用。
forceUpdate()當你知道一些很深的元件state已經改變了的時候,可以在該元件上面呼叫,而不是使用this.setState()。