react的生命周期

掛載階段的組件生命周期

我們將reactjs組件渲染并構(gòu)造DOM元素然后塞入頁面的過程稱為組件的掛載, 我們知道在reactjs內(nèi)部對于每個組件都有一個初始化組件---->掛載到界面的過程,所以一個組件的調(diào)用可以像這樣理接

constructor()
render()
//構(gòu)造DOM節(jié)點并插入頁面

但是為了更好的掌控組件的掛載,reactjs又新增了兩個方法

constructor()
componentWillMount()
render()
//構(gòu)造DOM節(jié)點并插入頁面
componentDidMount()

componentWillMount()這個方法實在組件掛載之前調(diào)用,而componentDidMount是在組件掛在完成之后調(diào)用。
當然組價既然可以掛載,那就可以刪除,而方法componentUnMount就是在組件刪除之前調(diào)用的

constructor()
componentWillMount()
render()
//構(gòu)造DOM節(jié)點并插入頁面
componentDidMount()
componentUnMount()

那么這些生命周期函數(shù)都有什么用呢

  • constructor,這個函數(shù)可以用于對一些變量的初始化,及一些方法的綁定
  • componentWillMount,這個函數(shù)用于頁面渲染之前,因此我們可以在其中進行一些諸如ajax請求的發(fā)送,定時器的開啟等操作
  • componentdDidMount,因為這個函數(shù)執(zhí)行的時候組價已經(jīng)掛載完畢,因此可以再其中進行動畫操作等
  • componentUnMount這個函數(shù)運行與組件被刪除時,我們可以在其中進行一些數(shù)據(jù)的刪除,如定時器

更新階段的組件生命周期

  • 我們知道的是在State發(fā)送改變的時候組件也會重新渲染,此時又會產(chǎn)生新的生命周期
shouldComponentUpdate(nextProps, nextState):你可以通過這個方法控制組件是否重新渲染。如果返回 false 組件就不會重新渲染。這個生命周期在 React.js 性能優(yōu)化上非常有用。

componentWillReceiveProps(nextProps):組件從父組件接收到新的 props 之前調(diào)用。

componentWillUpdate():組件開始重新渲染之前調(diào)用。

componentDidUpdate():組件重新渲染并且把更改變更到真實的 DOM 以后調(diào)用。
  • 需要注意的是這些函數(shù)在第一次渲染時不會調(diào)用
  • 還需注意的是不要在componentWillUpdate里面改變state,否則會陷入死循環(huán)
  • 至于具體使用環(huán)境請在實際開發(fā)中探索
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容