React常用的生命週期鉤子函式

2021-10-03 04:51:38 字數 1385 閱讀 3188

資料初始化階段

元件初始化會執行的四個鉤子函式

1.constructor( props, context)
//初始化動作

//用於初始化資料

2.static getderivedstatefromprops(props,state)
//靜態方法 不能使用this 不例項化也可以通過 類名.方法名 來呼叫

能實時更新父元件傳遞過來的引數

3.render()
這個方法是必須的,當他被呼叫是,他講計算 this.props和this.state

4.componentdidmount
元件唄裝配後立即呼叫,初始化時的dom節點應該進行到這裡

通常在這裡進行 ajax 請求

如果要初始化第三方的dom庫,也是在這裡進行初始化

只有到這裡才能獲取到真是的dom節點

更新階段的常用的四個鉤子函式

1.shouldcomponentupdate(nextprops,nextstate)
判斷元件是否需要更新

返回值是乙個布林值

true 就進行渲染

flase 就會渲染

預設為 true

如果 shouldcomponentupdate 返回 false

compentwillupdate,render 和 componentdidupdate 將不會被呼叫

通過條件判斷 減少不必要的渲染,增加效能

2.render
3.getsnapshotbeforeupdate(prevprops,prevstate)
在更新之前獲取快照

引數為前乙個 props 和 前乙個 state

必須返回乙個值

更新之前的 dom 狀態

必須 和 componentdidupdate一起用

在 react render後的輸出被渲染到 dom之前被呼叫

它能使你的元件能夠在它們唄潛在更改之前捕獲當前值(例如滾動位置)

這個生命週期返回的任何值都將作為 componentdidupdate() 的第三個引數

4.componentdidupdate(prevprops,prevstate,snapshot)
元件更新完成之後會立即執行,此時可以獲取dom節點。

解除安裝時會執行的乙個鉤子函式

componentwillunmout()
元件將要解除安裝時呼叫,用於清除事件監聽和定時器。

React 生命週期鉤子

es6 class構造方法,接收乙個props屬性物件,props由父元件傳入,如果父元件未傳入,則指向自身。通常用於初始化state,以及繫結事件處理方法等工作 元件被掛載到dom前,只會呼叫1次,一般用用更靠前的constructor代替,在其中呼叫this.setstate 不會引起元件重新渲...

React生命週期鉤子

我一直覺得這張圖描述的真是太好了,首先,先看圖。初始化階段 constructor props props的初始設定是在元件的外面 或者在內部使用 靜態屬性 static class home extends react.component home.defaultprops 或者在內部 stati...

react生命週期鉤子

大家先看一張關於元件掛載的經典的 下面一一說一下這幾個生命週期的意義 object getdefaultprops 執行過一次後,被建立的類會有快取,對映的值會存在this.props,前提是這個prop不是父元件指定的 這個方法在物件被建立之前執行,因此不能在方法內呼叫this.props,另外,...