React之生命週期函式

2021-09-30 00:11:10 字數 1570 閱讀 5369

react生命週期函式**

各個生命週期詳解

1,comonentwillmount() 掛載前

在元件掛載前呼叫,且圈布局只呼叫一次,在這裡可以發起非同步請求,setstate

這個函式在react.16當中廢除,設定state在constructor當中完成

2,render()渲染元件

是react必須定義的生命週期函式,用來渲染dom

3,componentdidmount() 元件掛載完成後

全域性只呼叫一次,可使用refs來獲取真實的dom元素,可以發起非同步請求,以及setstate(1,dom節點初始化,2,網路請求,3,新增訂閱)

4,componentwillreceiveprops(nextprops) props即將變化之前

react.16當中廢除,由static getderivedstatefromprops()這個函式代替

props發生變化時,以及父元件重新渲染時都會觸發該生命週期函式,在該狗子函式內可以通過引數nextprops獲取變化後的props引數(this.props可以訪問之前的props,可以setstate)

5,shouldcomponentupdate(nextprops,nextstate) 是否重新渲染

元件掛載後,每次呼叫setstate後都會呼叫這個函式,判斷是否重新渲染,預設返回true(返回false則不渲染)

6,componentwillupdate(nextprops,nextstate)元件重新渲染之前

react.16當中廢除,由getsnapshotbeforeupdate()代替

上乙個生命週期返回true/呼叫forceupdate之後,這個才會被呼叫,不能再次setstate,否則會觸發迴圈

7,componentdidupdate(prevprops,prevstate)完成元件渲染

首次渲染:componentdidmount

其他次渲染:componentdidupdate

8,componentwillupdate()元件即將被解除安裝

元件被解除安裝的時候呼叫,一般在componentdidmount裡面註冊的事件需要在這裡刪除

新增生命週期函式

1,static getderivedstatefromprops(newxtprops,prevstate)

2,getsnapshotbeforeupdate(prevprops,prevstate)在render()之後執行

(1)此生命週期的返回值將作為第三個引數傳遞給componentdidupdate

(2)這個生命週期函式不經常需要,但可以用於在恢復期間手動儲存滾動位置

getsnapshotbeforeupdate()

componentdidupdate

(perprops, perstate, perscrollheight)

React之生命週期函式

1 新增知識點 react生命週期函式 元件載入之前,元件載入完成,以及元件更新資料,元件銷毀。觸發的一系列的方法 這就是元件的生命週期函式 元件載入的時候觸發的函式 順序 constructor componentwillmount render componentdidmount 元件資料更新的...

React生命週期函式

說來慚愧,準大四計算機專業學生黨第一次寫技術部落格。以前學東西沒有記錄的習慣總是容易忘記。最近在看老師的教程學習react框架,想寫點東西記錄一下學習的過程。若寫的不好,各位大佬見諒了,歡迎指正。什麼是生命週期函式?生命週期函式就是元件某一時刻會自動執行的函式。initialzation 初始化 m...

React 生命週期函式

initialization 初始化 mounting 掛載 updation 更新 unmounting setup componentwillmount props states componentwillunmont 當這個元件即將被從頁面中移除的時候,會被執行 props render co...