React的生命週期鉤子函式

2021-09-26 02:13:00 字數 1955 閱讀 7671

一、react的生命週期鉤子函式舊版

掛載時,初始化階段

1)constructor(): 如果不初始化state或不進行方法繫結,則不需要為react元件實現建構函式

2)componentwillmount(): 以前在這裡進行請求資料,現在即將被廢棄

3)render(): 初次渲染元件的內容

4)componentdidmount(): 元件掛載完畢以後,可以進行請求資料,可以操作dom,例項化請求

更新時,執行時階段

1)componentwillreceiveprops(nextprops):可以依據nextprops 達到類似vue中監聽屬性的目的,現在即將被廢棄

2)shouldcomponentupdate(): 元件需不需要更新,預設的值為true,預設是更新的,這個要不不寫,要寫必須要返回值,提公升react效能的關鍵

3)componentwillupdate(): 元件即將更新,現在即將被廢棄

4)render(): 元件更新

5)componentdidupdate(): 元件更新完畢,dom操作

解除安裝時,銷毀階段

1)componentwillunmount(): 元件銷毀,移出定時器、計時器、銷毀物件

錯誤處理

1)componentdidcatch(): react元件樹出現錯誤時執行

二、react的生命週期鉤子函式新版

掛載時,初始化階段

1)constructor(): 如果不初始化state或不進行方法繫結,那麼不需要為react元件實現建構函式

2)static getderivedstatefromprops(): 呼叫render() 方法之前呼叫,並且在初始掛載及後續更新時都會被呼叫,它應該返回乙個物件來更新state,如果返回null則不更新任何內容,一般不會用到,新增加的,要不不寫,要寫就必須寫返回值

3)render(): 初次渲染元件內容

4)componentdidmount(): 元件掛載完畢,可以去請求資料,可以操作dom

更新時,執行時階段

1)static getderivedstatefromprops(): 呼叫render() 方法之前呼叫,並且在初始掛載和後續更新時都會被呼叫,它應該返回乙個物件來更新state,如果返回null,則不更新任何內容,一般不會用到

2)shouldcomponentupdate(): 元件要不要被更新,預設的值為true,預設是更新的,要不不寫,要寫就必須要有返回值,提公升react效能的關鍵

3)render(): 元件更新

4)getsnapshotbeforeupdate(): 在最後一次渲染輸出,提交到dom節點之前呼叫,它使得元件在發生更改之前從dom中捕獲一些資訊,它的任何返回值都將作為引數傳遞給componentdidupdate()

一般很少會被使用

5)componentdidupdate(): 元件更新完畢,dom操作

解除安裝時,銷毀階段

1)componentwillunmount(): 元件銷毀,移出定時器、計時器、銷毀物件

錯誤處理

1)static getderivedstatefromerror(): 在後代元件丟擲錯誤後被呼叫,它將丟擲的錯誤作為引數,並返回乙個值以更新state

2)componentdidcatch(): react元件樹出現錯誤時執行

React生命週期鉤子函式

定義 react中元件有生命週期,也就是說也有很多鉤子函式供我們使用,元件的生命週期,我們會分為四個階段,初始化 執行中 銷毀 錯誤處理 16.3之後 注意 生命週期鉤子函式一定不要寫成箭頭函式 react 16.x 版本中共有 10個鉤子函式 四個階段 分別為 1 constructor prop...

react生命週期的鉤子函式

生命週期,鉤子函式 掛載階段 一 constructor 第乙個執行 1.可以初始化元件狀態 2.可以給一些事件函式繫結this 注意 不能再內部呼叫setstate constructor 不能在內部呼叫setstate this.handleclick this.handleclick.bind...

react的生命週期鉤子函式

首先我們先來掌握基本單詞 掌握單詞後會更好理解和記住生命週期 constructor 建構函式 component 元件 will 將要 get 得到 default 預設值 initial 最初的 unsafe 不安全的 static 靜態的 derived 衍生的 should 應該 updat...