React中元件的生命週期

2021-07-25 13:29:14 字數 2724 閱讀 9160

1、先建立專案編寫**:

charset="utf-8">

title>

src="./build/react.js"

charset="utf-8">

script>

src="./build/react-dom.js"

charset="utf-8">

script>

src="./build/browser.min.js"

charset="utf-8">

script>

head>

id="container">

div>

body>

type="text/babel">

//在此處編寫react**

/** 生命週期介紹:

1、元件的生命週期一般可以分為三個狀態:

mounting:元件掛載,元件渲染完成了,已插入真實dom

updating:元件更新,正在被重新渲染

unmounting: 元件移出,已移出真實dom

2、元件的生命週期可以分為四個階段:

建立、例項化、更新、銷毀

3、舉例:網易新聞列表頁面,

**//** 1、mounting/元件掛載相關:

(1) componentwillmount

元件將要掛載。在render之前執行,但僅執行一次,即使多次重複渲染該元件,或者改變了元件的state

(2)componentdidmount

元件已經掛載,在render之後執行,同乙個元件重複渲染只執行一次

2、updating/元件更新相關:

(1)componentwillreceiveprops(object nextprops)

已載入元件收到新的props之前呼叫,注意元件初始化渲染時則不會執行

(2)shouldcomponentupdate(object nextprops,object nextstate)

元件判斷是否重新渲染時呼叫。該介面實際是在元件接收到了新的props或者新的state的時候會立即呼叫

,然後通過

(3)componentwillupdate(object nextprops,object nextstate)

元件將要更新

(4)componentdidupdate(object prevprops,object prevstate)

元件已經更新

3、unmounting/元件移除相關:

(1)componentwillunmount

在元件要被移除之前的時間點觸發,可以利用該方法來執行一些必要的清理元件將要移除

4、生命週期中與props和state相關:

(1)getdefaultprops 設定props屬性預設值

(2)getinitialstate 公升值state屬性初始值

**//** 生命週期各個階段介紹

**/var demo=react.createclass(;

},/***

二、例項化階段

流程:getinitialstate

componentwillmount

render

componentdidmount

**/getinitialstate:function

(), componentwillmount:function

(), render:function

(), componentdidmount:function(),

/**三、更新階段

流程:componentwillreceiveprops

shouldcomponentupdate 如果返回值是false,後三個方法不執行

componentdidupdate

render

componentdidupdate

**/componentwillreceiveprops:function(),

shouldcomponentupdate:function(),

componentwillupdate:function(),

componentdidupdate:function(),

/**四、銷毀階段

流程:componentwillunmount

**/componentwillunmount:function()

});//第一次建立並載入元件

reactdom.render(

,document.getelementbyid("container")

);//重新渲染元件

reactdom.render(

,document.getelementbyid("container")

);//移除元件

// reactdom.unmountcomponentatnode(document.getelementsbyclassname("container"));

script>

html>

在上述**中shouldcomponentupdate返回為true,則下面的三個方法都會執行,執行程式將可以看到:

當將shouldcomponentupdate返回為false時,下面的方法將不會執行,但是如果有移除元件的方法存在的時候,移除元件的方法將會執行

React元件生命週期

元件的所有狀態結合起來就成了元件的生命週期。即 初始化階段 執行中階段 銷毀階段。不同生命週期內可以自定義的函式 初始化階段 getdefaultprops 獲取預設屬性,只呼叫一次,是在createclass之後呼叫的。例項之間共享引用 getinitialstate 初始化每個例項的特有初始化狀...

React元件生命週期

首次例項化 例項化完成後的更新 元件已存在時的狀態改變 生命週期共提供了10個不同的api。1.getdefaultprops 作用於元件類,只呼叫一次,返回物件用於設定預設的props,對於引用值,會在例項中共享。2.getinitialstate 作用於元件的例項,在例項建立時呼叫一次,用於初始...

React 元件生命週期

在本章節中我們將討論 react 元件的生命週期。元件的生命週期可分成三個狀態 生命週期的方法有 這些方法的詳細說明,可以參考官方文件。以下例項在 hello 元件載入以後,通過 componentdidmount 方法設定乙個定時器,每隔100毫秒重新設定元件的透明度,並重新渲染 varhello...