日韩少妇无删减的电影在线视频观看-久久久伊人中文字幕-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)更多》

熱點

欧美超道逼-pornxxxxxbd-草 榴一区二区三区小说-色老头伊人 | 总裁被揉屁股扒开姜罚调教微博修学旅行いじめ。-K104AV-中文三级久久国产-BD英语手机在线看 1552 6985 亚洲国产综合久久久无码色伦-亚洲无码激情视频自拍 | 久久精彩-国产尤物点击进入-五十路熟女影音先锋-小黄鸭AV福成人导航 | 国产成人高清精品免费-精品久久久成人码免费动漫-中文字幕色偷偷人妻久久-蓝光神马影院手机在线 森泽佳奈无码-国产熟女狼人AV-无毒不卡少妇-日本女女色www | 高清全集免费播放 久久国产精品免费观看-大尺度做爰呻吟口述细节视频-熟女少妇av-亚洲av无码一区二区三区在线播放 | 鸡巴插入小穴视频在线观看-三年片免费观看大全有-爱爱视频日韩-四川BBB搡BBB爽爽爽电影 | 欧洲人妻-HD超清在线观看 国产成人真人在线-西西888WWW大胆无码-Chinese大学生啪啪HD | WWW.TUSY.COM-4K岛国无码HEYZO-日本又亲又摸又黄的视频-玩弄丰满奶水的老师喷流白浆动漫 | jvid大尺度视频在线观看-又粗又长一进一出流白浆-国模啪啪视频-国产美女大学生扒开尿口网页 | 羞羞羞下面好紧爽 视频-国产精品羞羞答答-与子乱对白在线播放单亲国产-女女综合网 | 中国美女光着腚撅着屁股挨操逼-国产剧神马在线观看 亚洲免费在线观看-爱爱AVAV-女人下面内射色大师 | 欧美亚洲精品另类-欲求不满浓厚中出在线播放-熟女少妇18-人人肏 国产一区二区三区gay男同-神木麓无码巨乳在线-国产香蕉视频在线播放-亚洲中文字幕无码久久2017 21p少妇-美女100%裸奶无遮挡免费国产又黄又大-国内精品第21页-日韩人妻无码精品久久免费 | 黑人社长和人妻秘书NTR-720高清完整版-jijzzizz丰满熟妇-一道本伊人久久 | 日韩第三页-国产精品嫩草久久久久-高H AV-精品少妇无码αv无码专区 | 日韩18页-ssssss黄色视频-OL连裤袜波多野结衣老师-AAA电视剧在线观看 国产又粗又硬又长又爽的视频 | 伊人222成人综合网-亚洲熟女屁股眼交300-亚洲成a v人片在线观看-无码午夜人妻一区二区三区不卡视频 | 无码前列腺按摩XXXXXXav-色小姐一本道-超碰美女自慰-少妇爱艹无码 | 国产少妇38p-下药灌醉迷奷无码片免费A片-女教师淫辱の教室大桥未久-jzzjzzjzz日本丰满少妇 | 免费看操插-久久欧美粗大黑精品久久欧美人与兽美女群交-水户香奈和黑人40分钟-人与嘼一区二区三区免费 | 免费看操插-久久欧美粗大黑精品久久欧美人与兽美女群交-水户香奈和黑人40分钟-人与嘼一区二区三区免费 | 日韩亚洲欧美www3344男同-中文小草第一夜-古风成人毛片-日本熟女乱交 | 色奶网-精品国产三级?在线观看-四虎啪啪-安徽妇女BBBWBBBwm | 国产在线观看精品一区二区三区91-情趣私密视频图片在线观看网站免费-女英雄一区二区三区-HD手机免费观看完整 | 中文字幕av无码专区-日韩欧美中文字幕黑人美女电影在线-xxxxxwww日本人-久久久久久久久99 | 大骚逼1000p-97影视大全免费追剧大全在线观看-久久国产av无码-乱欲小说亚洲专区 | Japan女同freeAV-懂色a v-DVD高清视频播放 最近更新免费中文字幕大全-狠狠躁日日躁夜夜躁2020 | 女上位打桩榨精在线观看-高潮毛片无遮挡免费高清风月直播-尹人成人-涩综合婷婷久久涩 | 亚洲午夜成人精品电影在线观看-九九人妻-免费一级电影 佐佐木明希做的一半套被拿掉-BD日韩免费观看 特级aaaaaaaaa毛片免费视频 | 北条麻妃成人-五十路老熟女码A片-大黄操逼网站-亚洲欧美综合国产精品一区 | 国产在线观看精品一区二区三区91-情趣私密视频图片在线观看网站免费-女英雄一区二区三区-HD手机免费观看完整 | 国产咪咪爱-男女校园黄文-北条麻妃人妻上司厨房电影-欧美亚做爱在线视频 | 欧美H版-午夜久久久久久-美女坐爰A-320lu刺激自拍视频 | 北条麻妃中文magnet-91干逼-中国精品露脸-风间由美乳巨码无A片在观看 | 亚洲黄色片DVD在线观看-黑人把少妇干到冒白浆-内射少妇38-最新无码国产在线视频人与 | 亚洲一区二区三区三州-xxxxx一本之道-久久精品免费-日本成人高辣网站 | 成人黄色网站在线播放视-BD完整版观看 99热国产在线观看-成年女人毛片免费观看不卡-4k在线观看视频 热久久这里只有精品 | 亚洲中文字幕无码不卡电影-婷婷色综合97狠狠狠-最新更新国产区国产自产2019最新-国产精品嫩草影视 | 成人一区二区三区无码-中文字幕99精品人妻少妇-成人免费国产欧美日韩你懂的-男生女生操逼国产激情AV刺激 | 亚洲中文字幕2019-中文字幕精品无码亚洲字幕夜色-本子在线免费观看视频-BD英语手机免费观看完整 欧美日韩视频免费在线观看 | 伊人久久大香蕉av在线-大乳奶汁无码A片免费看-丰满富婆一级A片外国电影-4k电影完整版在线观看 国产精品久久免费视频 | 午夜理伦精品一区二区三区在线成人-┅┅用力┅┅老熟女-国产精品三上悠亚在线观看网站-东北电影免费老师无码黄色片视屏网站大全 亚洲美女自慰-七十路熟女视频-日韩小穴-色女人综合 |