即當元件例項被建立並插入dom中時
static defaultprops
es6寫法:
constructor()
將父元件傳的props繫結到this上
super
([props]
)//預設執行,
//當建構函式中不使用props時,可以不傳props
給this.state賦值物件來初始化內部state
this
.state =
//生命週期寫法(和defaultprops差不多)
getinitialstate()
}
為事件處理函式繫結例項
//如果事件處理函式為箭頭函式,則不需要該操作
constructor:
this
.changename =
this
.changename.
bind
(this
)
render:
static getderivedstatefromprops(nextprops,prevprops)(不常用 (將來17之後))
componentwillmount(過時)
render
render()方法必須是乙個純函式,他不應該改變state,也不能直接和瀏覽器進行互動,應該將事件放在其他生命週期函式中
如果shouldcomponentupdate()返回false,render()不會被呼叫。
componentdidmount(開始可以獲得dom接節點)componentwillreceiveprops(nextprops)(過時)使用getderivedstatefromprops代替
getderivedstatefromprops()會在更新時也執行一次(返回物件更新state,在初始化時也呼叫)
shouldcomponentupdate(是否需要進行更新)
這個鉤子函式react優化的關鍵
componentwillupdate(過時)
getsnapshotbeforeupdate()(將來,快照)
進行更新的render渲染
componentdidupdate(prestate,preprops,snapshot)componentwillunmount
元件銷毀
componentdidcatch(err,info) 錯誤邊界
getderivedstatefromerror(err)
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...