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...