中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

東莞市住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁(yè)站長(zhǎng)工具域名解析

東莞市住房和城鄉(xiāng)建設(shè)廳網(wǎng)站首頁(yè),站長(zhǎng)工具域名解析,網(wǎng)上做醫(yī)生哪個(gè)網(wǎng)站好,夜夜做新郎網(wǎng)站在線視頻目錄 1 組件更新機(jī)制 2 虛擬DOM配合Diff算法 3 減輕state 4 shouldComponentUpdate() 4.1 基本使用 4.2 使用參數(shù) 5 純組件 5.1 基本使用 5.2 純組件的比較方法 shallow compere 1 組件更新機(jī)制 當(dāng)父組件重新渲染時(shí),父組件的所有子組件也會(huì)重新…

目錄

1??組件更新機(jī)制

2??虛擬DOM配合Diff算法

3??減輕state

4??shouldComponentUpdate()

4.1??基本使用

4.2??使用參數(shù)

5??純組件

5.1??基本使用

5.2??純組件的比較方法 shallow compere


1??組件更新機(jī)制

當(dāng)父組件重新渲染時(shí),父組件的所有子組件也會(huì)重新渲染,但非父組件的所有子組件不會(huì)重新渲染

如果只有parent2更新了,那么只會(huì)更新 child2-1與child2-2及后代,別的都不更新

如果是根組件更新,那么就所有組件都會(huì)更新

2??虛擬DOM配合Diff算法

當(dāng)組件中只有一個(gè)DOM元素需要更新時(shí),React使用 虛擬DOM配合Diff算法 只對(duì)需要更新的部分更新

虛擬DOM本質(zhì)上是一個(gè)JS對(duì)象,用來(lái)描述你希望再屏幕上看到的內(nèi)容

  • 由于只是一個(gè)JS對(duì)象,所以有JS環(huán)境就可以描述DOM了,這個(gè)特性拜托了瀏覽器的束縛,更好的實(shí)現(xiàn)React跨平臺(tái)的功能

渲染DOM的流程是這樣的,首先根據(jù)一些數(shù)據(jù)生成虛擬DOM,然后根據(jù)虛擬DOM生成頁(yè)面上的DOM

當(dāng)數(shù)據(jù)發(fā)生改變的時(shí)候,生成一個(gè)新的虛擬DOM,Diff算法比較新的虛擬DOM與舊的虛擬DOM的區(qū)別,然后只重新渲染有改動(dòng)的真實(shí)的DOM

  • 色表示改變的部分

3??減輕state

state應(yīng)只存儲(chǔ)何組件渲染有關(guān)的數(shù)據(jù)。

像定時(shí)器的id這種也需要在多個(gè)方法中用到的數(shù)據(jù),應(yīng)該放在this中

4??shouldComponentUpdate()

當(dāng)父組件更新后,父組件的所有后代組件都會(huì)被更新,可以使用鉤子函數(shù) shouldComponentUpdate(nextProps,nextState) 來(lái)避免不必要的重新渲染

shouldComponentUpdate()可以接收nextProps與nextState兩個(gè)參數(shù),我們可以通過(guò)這兩個(gè)參數(shù)對(duì)是否需要渲染進(jìn)行判斷,如果我們定義返回值為true表示需要重新渲染組件,false表示不需要重新渲染

shouldComponentUpdate()是在更新的時(shí)候觸發(fā),不會(huì)說(shuō)這里給了false所以開(kāi)始的時(shí)候渲染不出來(lái)

4.1??基本使用

我們做個(gè)計(jì)數(shù)器的例子,子組件負(fù)責(zé)顯示文本

點(diǎn)擊按鈕后可以正常計(jì)數(shù)

現(xiàn)在我們?cè)谧咏M件中加入 shouldComponentUpdate(),并讓其返回值為false

這個(gè)時(shí)候點(diǎn)按鈕就沒(méi)用了,因?yàn)榉祷刂祵?xiě)死為false,所以就不會(huì)再更新了

4.2??使用參數(shù)

nextProps是最新的props,nextState是最新的state,我們簡(jiǎn)單用一下

點(diǎn)擊按鈕之后可以獲取到最新的props與state

可以通過(guò)this.state與this.props獲取更新前的狀態(tài)

我們通過(guò)更新前與更新后的狀態(tài)就可以判斷此組件是否需要更新了

5??純組件

5.1??基本使用

純組件(React.PureComponent)與React.Component功能類(lèi)似

之前我們創(chuàng)建組件的時(shí)候都是繼承的React.Componnent

純組件內(nèi)部自動(dòng)通過(guò)shallow compere(淺層對(duì)比)比較 更新前后的props與state ,如果有變化就渲染,如果沒(méi)用變化就不渲染

我們簡(jiǎn)單做個(gè)例子,先看React.Component,目前點(diǎn)擊按鈕后count不再+1,而是保持原狀

點(diǎn)擊按鈕后會(huì)執(zhí)行render()

之后再看純組件

由于count沒(méi)有發(fā)生改變,所以只執(zhí)行了一開(kāi)始渲染頁(yè)面的render(),后面點(diǎn)擊按鈕不再執(zhí)行render()

5.2??純組件的比較方法 shallow compere

值(整形,字符串這種)的話就是直接比,對(duì)于引用類(lèi)型(數(shù)組,對(duì)象)只比較引用地址是否相同

在純組件中使用淺拷貝會(huì)出問(wèn)題

先回憶一下JS的淺拷貝

純組件中的原理與上面一樣,純組件判定這一次對(duì)象與上一次對(duì)象相同,就不會(huì)再渲染了

?

如果要修改類(lèi)型為對(duì)象的狀態(tài),建議使用深拷貝(三個(gè)點(diǎn)的方式)

無(wú)論是純組件還是普通組件都建議新搞一個(gè)數(shù)據(jù)

http://m.risenshineclean.com/news/59277.html

相關(guān)文章:

  • 有哪些網(wǎng)站能夠免費(fèi)找到素材免費(fèi)seo教程資源
  • 廈門(mén)做網(wǎng)站建設(shè)寧波seo軟件
  • 百度做網(wǎng)站搜索靠前百度電話
  • 團(tuán)購(gòu)鮮花的網(wǎng)站建設(shè)培訓(xùn)機(jī)構(gòu)管理系統(tǒng)
  • 如何網(wǎng)站做淘客海南網(wǎng)站設(shè)計(jì)
  • 網(wǎng)站建設(shè)服務(wù)版權(quán)歸誰(shuí)2022網(wǎng)站seo
  • 汶上1500元網(wǎng)站建設(shè)88個(gè)seo網(wǎng)站優(yōu)化基礎(chǔ)知識(shí)點(diǎn)
  • 學(xué)院 網(wǎng)站 兩學(xué)一做深圳網(wǎng)站seo外包公司哪家好
  • 網(wǎng)站工作室 需要什么手續(xù)新媒體營(yíng)銷(xiāo)推廣方案
  • 512 做網(wǎng)站有做網(wǎng)站的嗎
  • 常見(jiàn)的企業(yè)網(wǎng)站有哪些百度店鋪怎么開(kāi)通
  • 網(wǎng)站開(kāi)發(fā) 實(shí)訓(xùn) 報(bào)告c++培訓(xùn)班學(xué)費(fèi)一般多少
  • 河南最新任命12個(gè)廳級(jí)360優(yōu)化大師官方下載手機(jī)
  • 建設(shè)境外網(wǎng)站推廣軟文范文800字
  • 柳城網(wǎng)站建設(shè)官網(wǎng)優(yōu)化哪家專(zhuān)業(yè)
  • 做威客有什么靠譜網(wǎng)站2022最好的百度seo
  • 出口貿(mào)易網(wǎng)站廣告營(yíng)銷(xiāo)的經(jīng)典案例
  • 網(wǎng)站建設(shè)的售后百度關(guān)鍵詞網(wǎng)站排名優(yōu)化軟件
  • 公司網(wǎng)站制作設(shè)上海網(wǎng)站制作公司
  • 網(wǎng)站開(kāi)發(fā)畢設(shè)文獻(xiàn)網(wǎng)絡(luò)營(yíng)銷(xiāo)swot分析
  • 網(wǎng)站后臺(tái)php開(kāi)發(fā)教程seo手機(jī)關(guān)鍵詞排行推廣
  • 網(wǎng)站 分析最新戰(zhàn)爭(zhēng)新聞事件今天
  • 第三方做的網(wǎng)站不給源代碼站長(zhǎng)工具如何使用
  • html怎么做網(wǎng)站設(shè)計(jì)以網(wǎng)絡(luò)營(yíng)銷(xiāo)為主題的論文
  • 做淘寶客網(wǎng)站教程短網(wǎng)址生成網(wǎng)站
  • 建湖營(yíng)銷(xiāo)型網(wǎng)站建設(shè)工作室銀川網(wǎng)站seo
  • 錦州網(wǎng)站建設(shè)品牌seo優(yōu)化需要多少錢(qián)
  • 個(gè)人網(wǎng)站制作網(wǎng)站2022國(guó)內(nèi)外重大新聞事件10條
  • 山東青島網(wǎng)站建設(shè)公司哪家專(zhuān)業(yè)制作網(wǎng)頁(yè)的流程步驟
  • 長(zhǎng)寧網(wǎng)站推廣公司網(wǎng)絡(luò)推廣渠道公司