react 生命週期

2022-06-28 16:03:16 字數 1729 閱讀 5485

一、舊版**:

二、新版**:

從圖中,我們可以清楚知道react的生命週期分為三個部分:  例項化、存在期和銷毀時。

舊版生命週期如果要開啟async rendering,在render函式之前的所有函式,都有可能被執行多次。

舊版的react生命週期看圖就可以啦,我們就不詳細講解了,下面我們來詳細講下,v16.4react的生命週期。

getderivedstatefromprops:

getderivedstatefromprops無論是mounting還是updating,也無論是因為什麼引起的updating,全部都會被呼叫。

getsnapshotbeforeupdate:

getsnapshotbeforeupdate()被調用於render之後,可以讀取但無法使用dom的時候。它使您的元件可以在可能更改之前從dom捕獲一些資訊(例如滾動位置)。此生命週期返回的任何值都將作為引數傳遞給componentdidupdate()。

react官網中getsnapshotbeforeupdate的例子:

class

scrollinglist extends react.component

getsnapshotbeforeupdate(prevprops, prevstate)

return

null

; }

componentdidupdate(prevprops, prevstate, snapshot)

} render() >

); }

}

一、舊版**:

二、新版**:

從圖中,我們可以清楚知道react的生命週期分為三個部分:  例項化、存在期和銷毀時。

舊版生命週期如果要開啟async rendering,在render函式之前的所有函式,都有可能被執行多次。

舊版的react生命週期看圖就可以啦,我們就不詳細講解了,下面我們來詳細講下,v16.4react的生命週期。

getderivedstatefromprops:

getderivedstatefromprops無論是mounting還是updating,也無論是因為什麼引起的updating,全部都會被呼叫。

getsnapshotbeforeupdate:

getsnapshotbeforeupdate()被調用於render之後,可以讀取但無法使用dom的時候。它使您的元件可以在可能更改之前從dom捕獲一些資訊(例如滾動位置)。此生命週期返回的任何值都將作為引數傳遞給componentdidupdate()。

react官網中getsnapshotbeforeupdate的例子:

class

scrollinglist extends react.component

getsnapshotbeforeupdate(prevprops, prevstate)

return

null

; }

componentdidupdate(prevprops, prevstate, snapshot)

} render() >

); }

}

React 生命週期 生命週期方法

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

react 生命週期

首次例項化 例項化完成後的更新 元件已存在時的狀態改變 生命週期共提供了10個不同的api。1.getdefaultprops 作用於元件類,只呼叫一次,返回物件用於設定預設的props,對於引用值,會在例項中共享。2.getinitialstate 作用於元件的例項,在例項建立時呼叫一次,用於初始...

react生命週期

盜圖一張 第一次進入頁面列印結果 1 parent constructor 2 parent conponentwillmount 3 parent render 4 initial render constructor 5 componentwillmount 6 render 7 compone...