react native 的兩個核心的屬性控制改變組件:props和state。
props是在父組件中進行設置,只要設置完成那么在組件的生命周期就定死了,不會發(fā)生改變。
針對數(shù)據(jù)變化修改的情況,我們需要使用state屬性;一般情況下,我們需要在constructor方法中初始化state,然后在你想要修改更新的時候調(diào)用setState方法。
方法名 | 作用 | 調(diào)用次數(shù) |
---|---|---|
constructor | 構造函數(shù),初始化需要的state | 1次 |
componentWillMount | 控件渲染前觸發(fā) | 1次 |
render | 渲染控件的方法 | 多次 |
componentDidMount | 控件渲染后觸發(fā) | 1次 |
componentWillReceiveProps | 組件接收到新的props時被調(diào)用 | 多次 |
shouldCompentUpdate | 當組件接收到props和state時被調(diào)用 | 多次 |
componentWillUpdate | props或者state改變,并且此前的shouldComponentUpdate為true會調(diào)用該方法 | 多次 |
componentDidUpdate | 組件重新渲染完成后會調(diào)用此方法 | 多次 |
componentWillUnmount | 組件卸載和銷毀之前被調(diào)用 | 1次 |
react native的組件的生命周期:
從圖中可以看出來組件的生命周期有三個階段:
第一個階段:初始化項目后,執(zhí)行構造器,頁面加載之后,第一次渲染頁面,
第二個階段:是組件的運行中階段: 在這個階段主要點就是:state狀態(tài)的改變或者props屬性的改變, 當state發(fā)生改變的時候,會調(diào)用shouldComponentUpdate()方法, 這個方法是返回是一個boolean類型,用于判定state狀態(tài)是否改變,返回ture的時候,接下來將會執(zhí)行componentWillUpdate()方法更新組件,然后再一次的執(zhí)行render()方法,渲染頁面,之后執(zhí)行componentDidUpdate()方法,然后如果還有state狀態(tài)發(fā)生改變的會就還是這個流程執(zhí)行; 但 如果props屬性發(fā)生改變的時候,就是觸發(fā)componentWillReceiveProps()方法,然后在執(zhí)行shouldComponentUpdate()方法,接下來的流程就一樣了; 這就是運行中執(zhí)行的流程;
第三個階段:組件的卸載,這個期間我現(xiàn)在接觸的比較少,因為react native 對這個階段是自己封裝好的,沒太用過,先了解以下:
組件卸載的時候,首先執(zhí)行Unmount()方法,然后執(zhí)行componentWillUnmount()方法然后就是結束了;
在使用這個地方的時候, 有一個示例:就是對于本地存儲的時候,當組件卸載的時候,可以在第三個階段對 本地儲存的數(shù)據(jù)進行清空操作;
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:reactnative基礎-創(chuàng)新互聯(lián)
本文地址:http://www.rwnh.cn/article46/csjdhg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、外貿(mào)建站、網(wǎng)站維護、品牌網(wǎng)站建設、Google、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容