亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

react組件生命周期理解

Rango / 1998人閱讀

摘要:當(dāng)組件要被卸載之前,框架會(huì)調(diào)用函數(shù),之后就會(huì)卸載組件。開(kāi)發(fā)者可以在這幾個(gè)生命周期函數(shù)中定義一些你想組件變化的操作或者做一些數(shù)據(jù)的改變。

react組件有兩個(gè)狀態(tài),一個(gè)是渲染狀態(tài),一個(gè)是卸載狀態(tài),而渲染狀態(tài)又分為初始渲染狀態(tài)(也可以說(shuō)是創(chuàng)建狀態(tài))和重新渲染狀態(tài)(也可以說(shuō)是存在狀態(tài),說(shuō)明組件一直存在,會(huì)發(fā)生多次重新渲染)。這三個(gè)狀態(tài)下又會(huì)產(chǎn)生一系列的生命周期函數(shù),開(kāi)發(fā)人員一般只需要了解其中五個(gè)主要的生命周期函數(shù):componentWillMount、componentDidMount、componentWillUpdate、componentDidUpdate、componentWillUnmount。一下是圖解:

下面詳細(xì)解釋一下上圖。首先,在組件初始渲染之前react native框架會(huì)調(diào)用componentWillMount函數(shù),在組件生命周期中,它只會(huì)被執(zhí)行一次(注:如果組件需要從本地存儲(chǔ)中獲取數(shù)據(jù),可以在該函數(shù)中執(zhí)行獲取本地存儲(chǔ)數(shù)據(jù)操作);執(zhí)行完componentWillMount函數(shù)之后,組件就會(huì)執(zhí)行初始渲染;當(dāng)初始渲染完成后,react native框架會(huì)立即調(diào)用componentDidMount函數(shù),同樣的,該函數(shù)在生命周期中也只會(huì)執(zhí)行一次(注:組件可以在該函數(shù)中執(zhí)行從網(wǎng)絡(luò)中獲取數(shù)據(jù)操作);這兩步之后,組件就初始渲染出來(lái)了;當(dāng)組件從父組件中接收到新的prop、組件的prop在父組件中被更改、或者組件的state變量改變時(shí),只要這三個(gè)有發(fā)生一種,react native框架就會(huì)觸發(fā)diff算法計(jì)算該組件是否有改動(dòng),如果有改動(dòng),組件就會(huì)被重新渲染,重新渲染之前,react native框架會(huì)調(diào)用componentWillUpdate函數(shù)(注:該函數(shù)中不能對(duì)組件狀態(tài)進(jìn)行更改);之后,組件便會(huì)執(zhí)行重新渲染;重新渲染完成之后,react native框架會(huì)調(diào)用componentDidUpdate函數(shù);重新渲染這個(gè)狀態(tài)會(huì)被多次觸發(fā),所以這兩個(gè)函數(shù)也會(huì)被執(zhí)行多次。當(dāng)組件要被卸載之前,react native框架會(huì)調(diào)用componentWillUnMount函數(shù),之后就會(huì)卸載組件。
開(kāi)發(fā)者可以在這幾個(gè)生命周期函數(shù)中定義一些你想組件變化的操作或者做一些數(shù)據(jù)的改變。

最后提醒一點(diǎn),diff算法是react native用于實(shí)現(xiàn)虛擬dom機(jī)制實(shí)現(xiàn)的一種算法,虛擬dom機(jī)制是react native實(shí)現(xiàn)對(duì)數(shù)據(jù)批量處理反應(yīng)迅速的基礎(chǔ),建議朋友們有必要去理解透徹。之后的文章中,本人也會(huì)進(jìn)行介紹,大家共勉交流一下,嘻嘻~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/87247.html

相關(guān)文章

  • React.js 小書(shū) Lesson20 - 更新階段的組件生命周期

    摘要:所以對(duì)于組件更新階段的組件生命周期,我們簡(jiǎn)單提及并且提供一些資料給大家。這里為了知識(shí)的完整,補(bǔ)充關(guān)于更新階段的組件生命周期你可以通過(guò)這個(gè)方法控制組件是否重新渲染。大家對(duì)這更新階段的生命周期比較感興趣的話(huà)可以查看官網(wǎng)文檔。 React.js 小書(shū) Lesson20 - 更新階段的組件生命周期 本文作者:胡子大哈本文原文:http://huziketang.com/books/react...

    Yumenokanata 評(píng)論0 收藏0
  • 簡(jiǎn)單談?wù)勎?em>理解的React組件生命周期

    摘要:用處你在組建中所有的移除所有組建中的監(jiān)聽(tīng)生命周期父子組件渲染順序父組件代碼引入子組件子組件代碼瀏覽器中的執(zhí)行結(jié)果如下圖結(jié)論所以在的組件掛載及過(guò)程中,最底層的子組件是最先完成掛載及更新的。 原文首發(fā)在我的個(gè)人博客:歡迎點(diǎn)此訪問(wèn)我的個(gè)人博客 學(xué)了一段時(shí)間的react了,現(xiàn)在對(duì)自己學(xué)習(xí)的react的生命周期做一個(gè)簡(jiǎn)單總結(jié)(如有錯(cuò)誤請(qǐng)留言指正,謝謝) react一共有如下幾個(gè)生命周期函數(shù) c...

    lowett 評(píng)論0 收藏0
  • React生命周期到底是怎么一回事?

    摘要:在中,組件基本由三個(gè)部分組成屬性狀態(tài)以及生命周期方法。在生命周期中是必須的,是渲染組件用的。返回就是緊接著以下的生命周期函數(shù)返回表示組件不需要重新渲染,不再執(zhí)行任何生命周期函數(shù)包括。生命周期流程圖原文地址 盡量全面詳細(xì)的整理一下React的生命周期中的知識(shí)點(diǎn)。 組件 組件是獨(dú)立的封裝的可以復(fù)用的一個(gè)小部件,它是React的核心思想之一。通過(guò)劃分組件,可以將一個(gè)頁(yè)面劃分成獨(dú)立的多個(gè)可復(fù)用...

    sutaking 評(píng)論0 收藏0
  • React16 生命周期理解

    摘要:完整生命周期初始化參數(shù)第一次渲染當(dāng)父組件向子組件傳入發(fā)生改變后,依次調(diào)用子組件更新渲染當(dāng)組件自身發(fā)生變化后組件再次更新渲染當(dāng)組件卸載生命周期詳解此處請(qǐng)求接口數(shù)據(jù)子組件獲得新時(shí)觸發(fā),作用是在子組件再次渲染前,更新子組件自身的,之后會(huì)觸發(fā)接受的 完整生命周期 constructor(props) // 初始化參數(shù) componentWillMount() render() // 第一次...

    Flands 評(píng)論0 收藏0
  • 淺析 React 生命周期

    摘要:在使用組件的進(jìn)行組件實(shí)例化時(shí),得到的便是其返回值。也就是說(shuō),如果其子組件的或發(fā)生改變時(shí),只會(huì)取決于那個(gè)組件的方法的返回值。文章為本人原創(chuàng),原文見(jiàn)本人個(gè)博淺析生命周期一淺析生命周期二 Overview 最近常有學(xué)習(xí)React相關(guān)的技術(shù),寫(xiě)了幾個(gè)React的小Demo,使用 React/Express 技術(shù)棧。實(shí)在太小,羞于拿出來(lái)細(xì)說(shuō)。React 的確是一個(gè)值得追隨的技術(shù)。但React體系...

    lansheng228 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<