日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

React 组件的生命周期详解

發(fā)布時間:2025/3/17 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 React 组件的生命周期详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

概念:在組建的創(chuàng)建、到加載到頁面上運行以及組件被銷毀的過程中,總是伴隨的各種各樣的事件,這些在組件特定時期,出觸發(fā)的事件就叫做 組建的聲明周期

組件創(chuàng)建階段:組件創(chuàng)建階段的生命周期函數(shù),有一個顯著地特點,創(chuàng)建階段的生命周期函數(shù),在組建的一輩子中只執(zhí)行一次

組件運行階段:也有一個顯著地特點,根據(jù)組件的state和props的改變有選擇性的觸發(fā)0次或多次;

組件銷毀階段:也有一個顯著地特點,一輩子只執(zhí)行一次

組件初始階段 static defaultProps:初始化props默認值的屬性,作用是防止組件中某些必要的屬性,外界沒有傳遞報錯的問題

組建創(chuàng)建階段 this.state:是用來初始化組件私有數(shù)據(jù)的,是定義在組建的constructor構造器函數(shù)中,所以this.state會被第一時間就被初始化,因為在Class類中,只要new這個類,必然優(yōu)先調用constructor構造器 componentWillMount:這個函數(shù),是組建的虛擬DOM元素,將要掛在到頁面上的時候執(zhí)行,此時,虛擬DOM還沒有被創(chuàng)建,也沒有被掛在到頁面上;因為虛擬DOM是在render函數(shù)上創(chuàng)建的,所以此時根本還沒有虛擬DOM被創(chuàng)建 render:當進入到render函數(shù)中執(zhí)行的時候,就已經(jīng)開始渲染虛擬DOM了,當執(zhí)行完render后,此時_在內(nèi)存中已經(jīng)創(chuàng)建好了,但是,此時虛擬DOM并沒有被掛在到真正的頁面上_ componentDidMount:表示組件已經(jīng)完成了掛載,此時,我們data上的數(shù)據(jù),虛擬DOM上的數(shù)據(jù)以及瀏覽器頁面上的數(shù)據(jù)保持一致了,到這里,組件創(chuàng)建階段的生命周期函數(shù)已經(jīng)創(chuàng)建完畢,頁面第一次被渲染好

組件運行階段 componentWillReceiveProps:組件將要接受新的props屬性,只有當外界傳遞給子組件的屬性被修改了,才會觸發(fā)此函數(shù)的執(zhí)行 shouldComponentUpdate:組件是否被更新;狀態(tài)(state)或者props的改變都能觸發(fā)此組件的更新 componentUpdate:組件將要被更新,此時組件還沒有被更新 render:重新渲染內(nèi)存中虛擬DOM對象,當render完畢之后,虛擬DOM樹已經(jīng)和組件的state保持一致了,都是最新的了,但是頁面還是舊的 componentDidUpdate:此時頁面已經(jīng)更新完了,頁面也是最新的了

組件卸載的過程: componentWillUNmount:組件將要被卸載,此時組件尚可使用,還沒有被卸載;

以上就是react生命周期函數(shù)的詳細過程

轉載于:https://my.oschina.net/u/3419199/blog/1815688

總結

以上是生活随笔為你收集整理的React 组件的生命周期详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。