国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

React之渲染元素

Jenny_Tong / 2769人閱讀

摘要:渲染元素開(kāi)場(chǎng)白接著上一節(jié)的講解后我們大概清楚了以下幾個(gè)事兒知道是個(gè)什么東東為什么要推薦使用以及的一些基本語(yǔ)法。本篇文章談一下是怎么渲染元素的。更新已渲染的元素元素是不可變的,一旦你創(chuàng)建了一個(gè)元素,就不能再修改其子元素或任何屬性。

React-渲染元素 開(kāi)場(chǎng)白

接著上一節(jié)JSX的講解后:我們大概清楚了以下幾個(gè)事兒:

知道JSX是個(gè)什么東東

為什么React要推薦使用JSX

以及JSX的一些基本語(yǔ)法。

本篇文章談一下React是怎么渲染元素的。

元素

元素是React應(yīng)用中的最小部件,正是由一個(gè)或多個(gè)元素構(gòu)建出來(lái)了組件。
一個(gè)元素用于描述你將在屏幕上看到的內(nèi)容,比如:

const element = 

Hello, world

;
渲染元素到DOM 根DOM節(jié)點(diǎn)

假設(shè)我們的HTML文件中有這樣的一個(gè)

:

我們稱這是一個(gè)根DOM節(jié)點(diǎn),該節(jié)點(diǎn)內(nèi)的所有內(nèi)容都是有React DOM管理

注意

一個(gè)用React構(gòu)建的應(yīng)用程序通常只有一個(gè)根DOM節(jié)點(diǎn)。

但是如果把這些應(yīng)用程序整合到現(xiàn)有的app當(dāng)中去,那么該app中就可能會(huì)包含多個(gè)相互獨(dú)立的根DOM節(jié)點(diǎn)

更新已渲染的元素

React元素是不可變的,一旦你創(chuàng)建了一個(gè)元素,就不能再修改其子元素或任何屬性。
更新UI的唯一方法是創(chuàng)建一個(gè)新的元素,并將其傳入到ReactDOM.render()方法。
來(lái)思考下時(shí)鐘的例子,完整代碼如下:




    
    rendering-elements
    
    
    
    
    


以上代碼,每隔1秒,就會(huì)通過(guò)setInterval()回調(diào)ReactDOM.render()方法來(lái)重新渲染元素。

注意:

實(shí)際上,大多數(shù) React 應(yīng)用只會(huì)調(diào)用 ReactDOM.render() 一次。在接下來(lái)的章節(jié)中,我們將學(xué)習(xí)如何將這些代碼封裝到有狀態(tài)的組件中。

React 只更新必需要更新的部分

React DOM 會(huì)將元素及其子元素與之前版本逐一對(duì)比, 并只對(duì)有必要更新的 DOM 進(jìn)行更新, 以達(dá)到 DOM 所需的狀態(tài)。
我們對(duì) 上一個(gè)例子 進(jìn)行檢查來(lái)驗(yàn)證這一點(diǎn):

從上圖中我們可以看出,即使我們我們每隔 1 秒都重建了整個(gè)元素, 但實(shí)際上 React DOM 只更新了修改過(guò)的文本節(jié)點(diǎn)。
本文做為自己加強(qiáng)記憶之篇,均參考自:
http://www.css88.com/react/do...,在此列出,大家共同學(xué)習(xí)。

歡迎大家訪問(wèn)我的blog,有更精彩的文章吆!

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/88268.html

相關(guān)文章

  • react生命周期淵源

    摘要:組件是否應(yīng)當(dāng)渲染新的或,返回表示跳過(guò)后續(xù)的生命周期方法,通常不需要使用以避免出現(xiàn)。組件銷毀生命周期函數(shù)的淵源自定義組件的生命周期主要通過(guò)三種狀態(tài)進(jìn)行管理,它們負(fù)責(zé)通知組件當(dāng)前所處的狀態(tài),應(yīng)該執(zhí)行生命周期中的哪個(gè)步驟,是否可以更新。 生命周期有哪些以及用法 首次實(shí)例化 getDefaultProps作用于組件類,只調(diào)用一次,返回對(duì)象用于設(shè)置默認(rèn)的props,對(duì)于引用值,會(huì)在實(shí)例中共享 ...

    qingshanli1988 評(píng)論0 收藏0
  • React源碼解析ReactDOM.render()

    摘要:一更新的方式有三種渲染接下來(lái),我們就來(lái)看下源碼二作用在提供的里渲染一個(gè)元素,并返回對(duì)該組件的引用常見(jiàn)的用法是這個(gè)官網(wǎng)網(wǎng)址源碼服務(wù)端使用方法渲染節(jié)點(diǎn)是讓服務(wù)端盡可能復(fù)用節(jié)點(diǎn),提高性能元素容器應(yīng)用渲染結(jié)束后,調(diào)用的函數(shù)錯(cuò)誤抓取方法本質(zhì)是返回 showImg(https://segmentfault.com/img/remote/1460000020064414?w=1240&h=641);...

    iKcamp 評(píng)論0 收藏0
  • react源碼解析stack reconciler

    摘要:爭(zhēng)取把源碼剖析透學(xué)習(xí)透。除了用戶定義的復(fù)合組件外元素還可能表示特定于平臺(tái)的主機(jī)組件。裝載的具體結(jié)果有時(shí)在源代碼中稱為裝載映像取決于渲染器,可能為節(jié)點(diǎn)字符串服務(wù)器或表示本機(jī)視圖的數(shù)值。其所缺少的關(guān)鍵部分是對(duì)更新的支持。 關(guān)于源碼解讀的系列文章,可以關(guān)注我的github的這個(gè)倉(cāng)庫(kù), 現(xiàn)在才剛剛寫,后續(xù)有空就寫點(diǎn)。爭(zhēng)取把react源碼剖析透學(xué)習(xí)透。有不正確的地方希望大家?guī)兔χ刚4蠹一ハ鄬W(xué)習(xí)...

    ky0ncheng 評(píng)論0 收藏0
  • 4、React組件性能優(yōu)化

    摘要:組件的性能優(yōu)化高德納我們應(yīng)該忘記忽略很小的性能優(yōu)化,可以說(shuō)的情況下,過(guò)早的優(yōu)化是萬(wàn)惡之源,而我們應(yīng)該關(guān)心對(duì)性能影響最關(guān)鍵的另外的代碼。對(duì)多個(gè)組件的性能優(yōu)化當(dāng)一個(gè)組件被裝載更新和卸載時(shí),組件的一序列生命周期函數(shù)會(huì)被調(diào)用。 React組件的性能優(yōu)化 高德納: 我們應(yīng)該忘記忽略很小的性能優(yōu)化,可以說(shuō)97%的情況下,過(guò)早的優(yōu)化是萬(wàn)惡之源,而我們應(yīng)該關(guān)心對(duì)性能影響最關(guān)鍵的另外3%的代碼。...

    陳偉 評(píng)論0 收藏0
  • 精益 React 學(xué)習(xí)指南 (Lean React)- 1.1 React 介紹

    摘要:?jiǎn)蜗驍?shù)據(jù)流應(yīng)用的核心設(shè)計(jì)模式,數(shù)據(jù)流向自頂向下我也是性子急的人,按照技術(shù)界的慣例,在學(xué)習(xí)一個(gè)技術(shù)前,首先得說(shuō)一句。然而的單向數(shù)據(jù)流的設(shè)計(jì)讓前端定位變得簡(jiǎn)單,頁(yè)面的和數(shù)據(jù)的對(duì)應(yīng)是唯一的我們可以通過(guò)定位數(shù)據(jù)變化就可以定位頁(yè)面展現(xiàn)問(wèn)題。 書(shū)籍完整目錄 1.1 React 介紹 showImg(https://segmentfault.com/img/bVvJgS); 1.1.1 React ...

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

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

0條評(píng)論

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