日韩少妇无删减的电影在线视频观看-久久久伊人中文字幕-91成人在线视频观看-欧美日韩一区二区三区四区五区-激情五月天网站视频-欧美另类丰满熟妇xx-999re这里只有国产精品-国产蜜臀福利久久久av-人妻中文字幕av精,国产成人精品在线观看视频,69精品人妻久久久久久久,欧美日韩日欧美日韩中

react生命周期有哪些_react生命周期 世界觀速訊

來源:互聯(lián)網(wǎng)

1、概述 就像 Android 開發(fā)中的 View 一樣,React Native(RN) 中的組件也有生命周期(Lifecycle)。


【資料圖】

2、所謂生命周期,就是一個對象從開始生成到最后消亡所經(jīng)歷的狀態(tài),理解生命周期,是合理開發(fā)的關(guān)鍵。

3、RN 組件的生命周期整理如下圖: 如圖,可以把組件生命周期大致分為三個階段: 第一階段:是組件第一次繪制階段,如圖中的上面虛線框內(nèi),在這里完成了組件的加載和初始化; 第二階段:是組件在運行和交互階段,如圖中左下角虛線框,這個階段組件可以處理用戶交互,或者接收事件更新界面; 第三階段:是組件卸載消亡的階段,如圖中右下角的虛線框中,這里做一些組件的清理工作。

4、 生命周期回調(diào)函數(shù) 下面來詳細介紹生命周期中的各回調(diào)函數(shù)。

5、 getDefaultProps 在組件創(chuàng)建之前,會先調(diào)用 getDefaultProps(),這是全局調(diào)用一次,嚴格地來說,這不是組件的生命周期的一部分。

6、在組件被創(chuàng)建并加載候,首先調(diào)用 getInitialState(),來初始化組件的狀態(tài)。

7、 componentWillMount 然后,準備加載組件,會調(diào)用 componentWillMount(),其原型如下: void componentWillMount() 這個函數(shù)調(diào)用時機是在組件創(chuàng)建,并初始化了狀態(tài)之后,在第一次繪制 render() 之前。

8、可以在這里做一些業(yè)務(wù)初始化操作,也可以設(shè)置組件狀態(tài)。

9、這個函數(shù)在整個生命周期中只被調(diào)用一次。

10、 componentDidMount 在組件第一次繪制之后,會調(diào)用 componentDidMount(),通知組件已經(jīng)加載完成。

11、函數(shù)原型如下: void componentDidMount() 這個函數(shù)調(diào)用的時候,其虛擬 DOM 已經(jīng)構(gòu)建完成,你可以在這個函數(shù)開始獲取其中的元素或者子組件了。

12、需要注意的是,RN 框架是先調(diào)用子組件的 componentDidMount(),然后調(diào)用父組件的函數(shù)。

13、從這個函數(shù)開始,就可以和 JS 其他框架交互了,例如設(shè)置計時 setTimeout 或者 setInterval,或者發(fā)起網(wǎng)絡(luò)請求。

14、這個函數(shù)也是只被調(diào)用一次。

15、這個函數(shù)之后,就進入了穩(wěn)定運行狀態(tài),等待事件觸發(fā)。

16、 componentWillReceiveProps 如果組件收到新的屬性(props),就會調(diào)用 componentWillReceiveProps(),其原型如下: void componentWillReceiveProps( object nextProps ) 輸入?yún)?shù) nextProps 是即將被設(shè)置的屬性,舊的屬性還是可以通過 this.props 來獲取。

17、在這個回調(diào)函數(shù)里面,你可以根據(jù)屬性的變化,通過調(diào)用 this.setState() 來更新你的組件狀態(tài),這里調(diào)用更新狀態(tài)是安全的,并不會觸發(fā)額外的 render() 調(diào)用。

18、如下: componentWillReceiveProps: function(nextProps) { this.setState({ likesIncreasing: nextProps.likeCount >this.props.likeCount }); } shouldComponentUpdate 當組件接收到新的屬性和狀態(tài)改變的話,都會觸發(fā)調(diào)用 shouldComponentUpdate(...),函數(shù)原型如下: boolean shouldComponentUpdate( object nextProps, object nextState ) 輸入?yún)?shù) nextProps 和上面的 componentWillReceiveProps 函數(shù)一樣,nextState 表示組件即將更新的狀態(tài)值。

19、這個函數(shù)的返回值決定是否需要更新組件,如果 true 表示需要更新,繼續(xù)走后面的更新流程。

20、否者,則不更新,直接進入等待狀態(tài)。

21、 默認情況下,這個函數(shù)永遠返回 true 用來保證數(shù)據(jù)變化的時候 UI 能夠同步更新。

22、在大型項目中,你可以自己重載這個函數(shù),通過檢查變化前后屬性和狀態(tài),來決定 UI 是否需要更新,能有效提高應(yīng)用性能。

23、 componentWillUpdate 如果組件狀態(tài)或者屬性改變,并且上面的 shouldComponentUpdate(...) 返回為 true,就會開始準更新組件,并調(diào)用 componentWillUpdate(),其函數(shù)原型如下: void componentWillUpdate( object nextProps, object nextState ) 輸入?yún)?shù)與 shouldComponentUpdate 一樣,在這個回調(diào)中,可以做一些在更新界面之前要做的事情。

24、需要特別注意的是,在這個函數(shù)里面,你就不能使用 this.setState 來修改狀態(tài)。

25、這個函數(shù)調(diào)用之后,就會把 nextProps 和 nextState 分別設(shè)置到 this.props和 this.state 中。

26、緊接著這個函數(shù),就會調(diào)用 render() 來更新界面了。

27、 componentDidUpdate 調(diào)用了 render() 更新完成界面之后,會調(diào)用 componentDidUpdate() 來得到通知,其函數(shù)原型如下: void componentDidUpdate( object prevProps, object prevState ) 因為到這里已經(jīng)完成了屬性和狀態(tài)的更新了,此函數(shù)的輸入?yún)?shù)變成了 prevProps 和 prevState。

28、 componentWillUnmount 當組件要被從界面上移除的時候,就會調(diào)用 componentWillUnmount(),其函數(shù)原型如下: void componentWillUnmount() 在這個函數(shù)中,可以做一些組件相關(guān)的清理工作,例如取消計時器、網(wǎng)絡(luò)請求等。

29、 總結(jié) 到這里,RN 的組件的完整的生命都介紹完了,在回頭來看一下前面的圖,就比較清晰了,把生命周期的回調(diào)函數(shù)總結(jié)成如下表格: 生命周期 調(diào)用次數(shù) 能否使用 setSate() getDefaultProps 1(全局調(diào)用一次) 否 getInitialState 1 否 componentWillMount 1 是 render >=1 否 componentDidMount 1 是 componentWillReceiveProps >=0 是 shouldComponentUpdate >=0 否 componentWillUpdate >=0 否 componentDidUpdate >=0 否 componentWillUnmount 1 否 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

本文到此分享完畢,希望對大家有所幫助。

標簽:

推薦

財富更多》

動態(tài)更多》

熱點

日韩18页-ssssss黄色视频-OL连裤袜波多野结衣老师-AAA电视剧在线观看 国产又粗又硬又长又爽的视频 | 少妇口述玌伦经过全文阅读-大奶骚影院-国产在线视频一区二区-强奸妞视频影视大全网站 | BD英语神马影院手机在线-手机免费有坂深雪电影中文字幕亚洲区-jiZZjiZZji 欧美-男女又爽 又黄 免费蘑菇 | 看看农村老逼偷拍-专约老熟女丰满探花-百合依人网-免费va不卡国产高清大片在线 | 超碰chaoporn超碰-亚洲不卡一区无码在线-东北老阿姨A片-潮喷BB合集喷水汇编 | 五十路完熟豊満交尾-精品久久久久久无码专区不卡-www.5151淫-一本色道久久综合无码人妻老牛 | 九月婷婷成人社区-少妇太紧太爽又黄又硬-国产Aa情色性爱-成人免费在线裸之大陆| 色狠久久AV北条麻妃081-国产干逼逼-美女一区二区avHH-花野真衣無碼中出AV | 亚洲精品久久国产高清情趣-婷婷窝窝色比比资源-欧美宗合网-黑人干亚洲女 | 台湾伊人综合在线-黑人レイプ早川濑里奈-沟沟美女课体免费视频-欧美成人大片在线播放 | 免费公开在线自慰97-国产高潮失禁喷水爽到抽搐-美女扒开粉嫩尿口-试看120秒又黄又大视频 | 国产盗摄xXxX视频XXXⅩ-男女肉粗暴国产av-中文字幕探花在线-成人永久免费视频网站app | 中国艳妇裸体欣赏-1024少妇人妻欧美日韩-日本一级黄色谣秽视频-jizz国产免费 | 国产一区二区三区gay男同-神木麓无码巨乳在线-国产香蕉视频在线播放-亚洲中文字幕无码久久2017 | 亚洲人XXX日本人com-91伊人影院-女人免费网站-99久久免费看少妇高潮a片特黄 | 在线看成年人玩bb-欧美亚洲色图小说-JJIZZ女人多水喷水在线观看-一本之道av | 免费看操插-久久欧美粗大黑精品久久欧美人与兽美女群交-水户香奈和黑人40分钟-人与嘼一区二区三区免费 | 最另类最淫A片-国产猛男18禁Gay1609-黑人操白妞-一级女人毛片自慰 | 亚洲精品国偷自产-牛夜精品久久久久久久99黑人-高清全集免费观看 在线观看一级毛片免费-国产永久免费看黄网站 | 伊人狼人在线-国产视频99-啪啪片动漫-国产精品专区电影院 | 自拍偷拍第1页-国模无码在线-天天做夜夜爱爱爱-北条麻妃大战黑人A片 | 欧美惊人大荫蒂另类-xxxx日本人-中国女人内谢高潮不断-老王666福利3国产影院 | 五十路完熟豊満交尾-精品久久久久久无码专区不卡-www.5151淫-一本色道久久综合无码人妻老牛 | 97干97吻-国产黄色大片免费播放-国产成人自拍网-伊人成人电影院 成人网mm-奇米日日干-欧美熟妇肉体销魂孕妇-美女裸体自慰 | BD韩语高清完整版播放 91久久人妻中文字幕色欲-久久人人玩人妻潮喷内射人人-搞到美女出浆视频-北条麻妃一区在线 | 巨乳快播激情-美女自慰vk-xxxx黄色。-无码人妻aⅴ一区二区三区色戒乐 | 中国free性精品自拍-欧美女人逼-军人丰满双乳好大-台湾九一制片厂三级按摩视频 | 北条麻妃精品无套内谢-色综久久 后入在线观看 四虎影库在线播放-国产成人午夜无码-美女大黄片 | 久久久久久久久久久久久国产-中曰韩操逼大毛片基地-英国视频一级AAAAA网站-高清电影-免费完整版 国产成人一区二区三区视频免费 欧–美–性–交–黄–片-淫辱列车员(全黄h)-国模网站-亚洲激情四射 | 黄色片子女生和男人操-美女裸体黄片-中文字幕一区二区三区三州-国产91看片中文字幕日本二区 | 日韩一区二区三区射精-久久少妇视频-精品国产午夜福利精品推荐-岛国色网综合 | 熟女人妻精品猛烈进入-三级电影网站多少-亚洲第一色日韩激情在线-四虎884a | 偷拍久久久久-中国古代国语三级四十多岁女人-淫淫网狠狠干-女人用炮机自慰www免费看片 | 国产盗摄xXxX视频XXXⅩ-男女肉粗暴国产av-中文字幕探花在线-成人永久免费视频网站app | 日韩亚洲欧美高清一区二区久久-中国久久久精视频黄色片-婷深夜综合成人aⅴ网站。-BD免费观看韩国 视色视色视频在线观看 | 91色情网老熟女-五级A片-女子业余国产-亚州又大又粗 | 人人操日本女人-插亚州女人老屄-伊人黄-久久Av电影北条麻妃 | 啊灬用力灬啊灬啊灬啊灬A片男男视频-欧美性JiZZ20性欧美-爆乳熟妇一区二区三区蜜桃-少妇吹潮喷水视频在线观看 | 摸BBB揉BBB揉BBB视频火-国产操逼啊啊啊-丰满少妇被猛烈进入高清播放-下面湿的网站 | av天堂影音中文字幕-剧情片在线播放观看 日韩中文字幕一区二区三区-色射色色-一本色道HEZYO无码专区 | 日韩毛片免费高清在线视频-亚洲欧美中文字日韩二区-校园春色综合网-色,偷偷色,首页 |