react生命週期

2022-06-21 14:06:08 字數 2127 閱讀 3739

什麼是虛擬dom( virtual document object model )

dom的本質:就是用js表示ui的元素,dom是由瀏覽器中的js提供功能,所以我們只能人為的使用 瀏覽器提供的固定的api來操作dom物件

虛擬dom:並不是由瀏覽器提供,而是程式設計師手動模擬實現的,類似於瀏覽器中的dom

diff演算法

使用reactdom把元素渲染到頁面指定的容器中

jsx語法

類元件跟函式元件有什麼區別

(this,生命週期,是否有狀態)

函式元件的效能比類元件的效能要高,因為類元件使用時候要例項化,而函式元件直接執行函式取返回結果即可

props和state區別

state是元件自己管理資料,控制自己的狀態,可變

props是外部傳入的資料引數,不可變

沒有state的叫做無狀態元件,有state的叫做有狀態元件

如何使用refs

refs是使用react.createref()建立,並通過ref屬性附加到react元素

this.myref = react.createref() 

ref =

export default

constructor(props)

componentdidmount()

render() />

) }

}

什麼是高階元件(hoc)

接受乙個元件並返回乙個新元件的函式

**重用、

渲染劫持

state抽象和操作

props處理

什麼是jsx

jsx**本身不能被瀏覽器讀取,必須使用babel和webpack等工具將其轉成傳統的js

codessandbox:

元件或者程式從建立到銷毀的過程,我們可以在過程中間基於鉤子函式完成一些自己的操作(例如:在第一次渲染完成做什麼,或者在二次即將重新渲染之前做什麼等...)

[基本流程]

constructor 建立乙個元件

componentwillmount 第一次渲染之前

render 第一次渲染

componentdidmount 第一次渲染之後

[修改流程:當元件的狀態資料發生改變(set-state)或者傳遞給元件的屬性發生改變(重新呼叫元件傳遞不同的屬性)都會引發render重新執行渲染(渲染也是差異渲染)]

shouldcomponentupdate 是否允許元件重新渲染(允許則執行後面函式,不允許直接結束即可)

componentwillupdate 重現渲染之前

render 第二次及以後重新渲染

componentdidupdate 重現渲染之後

componentwillreceiveprops:父元件把傳遞給子元件的屬性發生改變後觸發的鉤子函式

[解除安裝:原有渲染的內容是不消失的,只不過以後不能基於資料改變檢視了(定時器,事件解綁)]

componentwillunmount:解除安裝元件之前

codessandbox:

元件或者程式從建立到銷毀的過程,我們可以在過程中間基於鉤子函式完成一些自己的操作(例如:在第一次渲染完成做什麼,或者在二次即將重新渲染之前做什麼等...)

[基本流程]

constructor 建立乙個元件

componentwillmount 第一次渲染之前

render 第一次渲染

componentdidmount 第一次渲染之後

[修改流程:當元件的狀態資料發生改變(set-state)或者傳遞給元件的屬性發生改變(重新呼叫元件傳遞不同的屬性)都會引發render重新執行渲染(渲染也是差異渲染)]

shouldcomponentupdate 是否允許元件重新渲染(允許則執行後面函式,不允許直接結束即可)

componentwillupdate 重現渲染之前

render 第二次及以後重新渲染

componentdidupdate 重現渲染之後

componentwillreceiveprops:父元件把傳遞給子元件的屬性發生改變後觸發的鉤子函式

[解除安裝:原有渲染的內容是不消失的,只不過以後不能基於資料改變檢視了(定時器,事件解綁)]

componentwillunmount:解除安裝元件之前

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