元件生命週期

2022-07-31 02:27:11 字數 1235 閱讀 4071

元件生命週期 

react component通過其定義的幾個函式來控制項在生命週期的各個階段的動作。

constructor(props, context)

建構函式,在建立元件的時候呼叫一次。

void componentwillmount()

在元件掛載之前呼叫一次。如果在這個函式裡面呼叫setstate,本次的render函式可以看到更新後的state,並且只渲染一次。

void componentdidmount()

在元件掛載之後呼叫一次。這個時候,子元件也都掛載好了,可以在這裡使用refs。

void componentwillreceiveprops(nextprops)

props是父元件傳遞給子元件的。父元件發生render的時候子元件就會呼叫componentwillreceiveprops(不管props有沒有更新,也不管父子元件之間有沒有資料交換)。

bool shouldcomponentupdate(nextprops, nextstate)

元件掛載之後,每次呼叫setstate後都會調shouldcomponentupdate判斷是否需要重新渲染元件。預設返回true,需要重新render。在比較複雜的應用裡,有一些資料的改變並不影響介面展示,可以在這裡做判斷,優化渲染效率。

void componentwillupdate(nextprops, nextstate)

shouldcomponentupdate返回true或者呼叫this.forceupdate()之後,componentwillupdate會被呼叫。

void componentdidupdate()

除了首次render之後呼叫componentdidmount,其它render結束之後都是呼叫componentdidupdate。

componentwillmount、componentdidmount和componentwillupdate、componentdidupdate可以對應起來。區別在於,前者只有在掛載的時候會被呼叫;而後者在以後的每次更新渲染之後都會被呼叫。

reactelement render()

render是乙個react元件所必不可少的核心函式(上面的其它函式都不是必須的)。記住,不要在render裡面修改state。

void componentwillunmount()

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

元件生命週期

三大階段 失效階段,提交階段,度量階段 失效階段 對元件屬性setter函式中,若有發生改變,則標記屬性失效,為了防止多次呼叫setter而導致頻繁更改屬性,所以呼叫屬性失效函式,當當前ui存放進 layoutmannger的失效佇列中,並新增layoutmannger的延遲偵聽,在下一幀才進行相應...

元件生命週期

元件生命週期指的是元件從建立到銷毀的過程,在這個過程中的一些不同的階段,vue會呼叫指定的一些元件方法 基本生命週期函式有下面幾個階段 每乙個階段都對應著 之前 和 之後 兩個函式 beforecreate 初始化階段,應用不多 created 在例項建立完成後被立即呼叫,該階段完成了對data中的...

元件生命週期

當元件例項被建立並插入 dom 中時,其生命週期呼叫順序如下 我們看一下載入順序 元件更新的生命週期呼叫順序如下 render 再次呼叫 componentdidupdate 資料狀態更新之後會呼叫 componentwillunmount 元件在解除安裝之前會呼叫這個方法 錯誤處理 當渲染過程,生...