React生命週期

2021-10-02 05:51:02 字數 2498 閱讀 8054

react生命週期:

在react中,生命週期函式指的是元件在某一時刻會自動執行的函式。

constructor雖然也會自動執行,但不是react所獨有的,可以理解成普通的類的生命週期函式

render當資料發生變化時,render函式會被自動執行,他就是乙個react生命週期函式

initialization: 元件初始化的過程,設定屬性和資料,沒有用到任何生命週期函式

mounting: 依次執行接下來的三個函式

頁面掛載的階段,也就是說你有了資料之後,需要把資料對應的頁面展示到html上面

資料發生變化時,頁面也會跟著變

資料發生變化了,不會重新執行mounting這個過程。react中,只有當你的元件第一次渲染到頁面的時候,才會執行mounting這個過程

updation

當資料發生了變化,react會執行updation更新過程,即props和state更新生命週期

shouldconpomentupdate(元件更新前,必須要返回乙個布林值。當為false時,資料發生變化,頁面不變,後面的生命週期函式不會執行,可以提高元件更新的效能,為true更新)

componentwillupdate(元件更新之前 ,它會自動執行,但是它在shouldcomponentupdate後;如果shouldcomponentupdate返回true它才執行;如果返回false,這個函式不會被執行)

render

componentdidupdate(元件更新完成之後,他會被自動執行)

unmounting

總結:

首先,生命週期函式是針對元件來說的,不管是子元件還是父元件,都會有自己元件內部的生命函式。

當元件第一次被渲染的時候,這個過程叫做mounting(掛載的過程)會依次執行constructor–>componentwillmount–>render–>componentdidmount

接著,如果你改變了乙個元件的資料,假設改變的是父元件的資料,那麼會依次執行shouldcomponentupdate–>componentwillupdate–>render–>componentdidupdate,假設子元件接收到的外部的props屬性發生了變化,子元件會多執行乙個生命函式componentwillreceiveprops

最後,當乙個元件從頁面中,即將被移除的時候,componentwillunmount會自動執行

父元件:

import react,

from

'react'

;import number from

'./number'

;//在react中,生命週期函式指的是元件在某一時刻會自動執行的函式

//當資料發生變化時,render函式會被自動執行,他就是乙個react生命週期函式

class

counter

extends

component)}

//可以理解成普通的類的生命週期函式

constructor

(props)

}// 掛載前自動執行

componentwillmount()

//渲染時自動執行

//元件更新之前 componentwillupdate後 自動執行

render()

>hello world<

/div>

/>

<

/div>)}

//掛載後自動執行

componentdidmount()

//元件更新前 自動執行

//存在的意義:假設有的時候資料發生變化,頁面不需要改變,設定return為false

//即資料發生變化,頁面不變,,後面的生命週期函式都不會執行可以提高元件更新的效能

shouldcomponentupdate()

//元件更新之前 shouldcomponentupdate之後 自動執行

componentwillupdate()

//元件更新前 render後 自動執行

componentdidupdate()

//元件從頁面中移除前自動執行

componentwillunmount()

}export

default counter;

子元件

import react,

from

'react'

;class

number

extends

component

componentwillmount()

render()

<

/div>

}componentdidmount()

}export

default number;

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