React Native 元件生命週期

2021-07-10 03:41:51 字數 1253 閱讀 2968

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()。

React Native元件生命週期

getdefaultprops 該函式用於初始化一些預設的屬性,通常會將固定的內容放在這個函式 中進行初始化和賦值 在元件建立之前,會先呼叫 getdefaultprops 初始化一些屬性,由於元件初始化後,再次使用該元件不會呼叫getdefaultprops 所以元件自己不可以自己修改props。...

React Native 元件生命週期

rn中元件生命週期主要由三個部分組成 掛載,更新,移除 1.掛載 getinitialstate 元件掛載前呼叫,一般用於設定元件初始狀態 componentwillmount 掛載前立即呼叫 componentdidmount 掛載後立即執行 2.更新 componentwillreceivepr...

react native 元件生命週期變化

生命週期方法 componentdidmount元件載入完成後進行,props修改並不能進入componentdidmount,也不能讓元件自動重新整理。存在期componentwillreceiveprops元件顯示期間,接受比較nextprops和this.props從而進行props的修改,或...