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