深入淺出React的生命週期

2021-10-19 21:55:59 字數 1290 閱讀 5064

react中的生命週期就是元件的生命週期

組建本質就是狀態機,輸入確定,輸出一定確定。

狀態發生轉化時會促發不同的鉤子函式,從而讓開發者有機會作出響應(模擬事件來理解狀態)

元件的生命週期分為三個階段:初始化、執行中、銷毀階段。每個階段可以呼叫不同的鉤子函式。

不同生命週期內可以自定義的鉤子函式。 

初始化(例項化階段):

getdefaultprops(獲取例項的預設屬性):只會在元件的第乙個例項初始化時被呼叫。同乙個元件的所有例項,他們拿到的預設屬性都是一樣的。只呼叫一次,例項之間共享引用。

getinitialstate    (獲取例項的初始化狀態):初始化每個例項特有的狀態。

componentwillmount  (元件即將被裝載到頁面上):render之前最後一次修改狀態的機會

render                        (元件渲染):會生成虛擬dom,並將虛擬dom轉化成真正的dom節點,並渲染到頁面上。只能訪問this.props和this.state,只有乙個頂層元件,不允許修改狀態和dom輸出

componentdidmount    (元件裝載完成):元件已經被渲染到頁面上,成功render並渲染完成真實dom後觸發,可以修改dom.

執行中:

componentwillreceiveprops(在接收到屬性之前觸發) 元件將要接收到屬性時觸發。父元件修改屬性觸發,可以修改新屬性、狀態。

shouldcomponentupdate      (當元件接收到新屬性或者新狀態時就會觸發這個函式。)返回false,會阻止render呼叫(大部分時候不會用到這個函式,只有當你發現**效能瓶頸時才會使用)

語義上,這是個疑問句,元件是否要更新?

如果元件不需要更新,我們可以在這步就返回false。

componentwillupdate   (元件將要更新):不能修改屬性和狀態(這個函式用的也不多)

render

componentdidupdate     (元件更新完成)。會在render結束之後,真正的dom被渲染完成後呼叫。可以修改dom

銷毀清理(解除安裝)階段:

componentwillunmount   (元件將要被銷毀):在刪除元件之前進行清理操作,如計時器和事件***。

深入淺出 iOS 之生命週期

ios應用程式的生命週期又根據系統是否支援多執行緒分為兩種 不支援多執行緒的ios4之前的系統以及支援多執行緒的ios4及其之後的系統。ios4 從圖中我們可以看出 step 或者從應用程式url 比如在safari位址列中輸入應用程式url 啟動應用程式。step 2,就會進入 void 或 di...

React 生命週期 生命週期方法

生命週期 掛載 更新 解除安裝 元件被建立 執行初始化 並被掛載到dom中,完成元件的第一次渲染 constructor props getderivedstatefromprops props,state render componentdidmount 元件被建立時會首先呼叫元件的構造方法,接受...

React 深入系列 元件的生命週期

文 徐超,react高階之路 作者 react 深入系列,深入講解了react中的重點概念 特性和模式等,旨在幫助大家加深對react的理解,以及在專案中更加靈活地使用react。元件是構建react應用的基本單位,元件需要具備資料獲取 業務邏輯處理 以及ui呈現的能力,而這些能力是要依賴於元件不同...