自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在React中操作DOM元素?

譯文
開發(fā) 前端
DOM操作是動態(tài)更改Web頁面內(nèi)容的過程。因為DOM總是樹形結(jié)構(gòu)的,所以使用DOM相當(dāng)快速,遍歷DOM也很容易。

【51CTO.com快譯】在React中,對Virtual DOM進行更改,然后同步到React DOM的過程叫和解。React判斷出哪些對象發(fā)生了變化的這個過程為漂移。

?[[392192]]?

DOM操作過程

  • React更新虛擬DOM。
  • 然后將前一個狀態(tài)的虛擬DOM與更新后的虛擬DOM進行比較,以識別對象中發(fā)生了哪些更改。這是用差分算法完成的。
  • 更改后的對象將在實際DOM上得到更新。

差異算法示例

當(dāng)根元素不同時:

// Old version
<div><Tree/></div>

// New update
<span><Tree/></span>

React將刪除該樹,然后再次重建整個樹。

當(dāng)元素中的屬性更改時:

// Old
<span id="span1" />

//New
<span id="span2" />

只有差異會在屬性中找到,并會相應(yīng)地進行更改。

最后添加了新的子元素:

// old
<ul>
<li>Child1</li>
<li>Child2</li>
</ul>

//New
<ul>
<li>Child1</li>
<li>Child2</li>
<li>Child3</li>
</ul>

新元素將添加到列表的末尾。

在列表的開頭添加了新元素

// Old
<ul>
<li>Child1</li>
<li>Child2</li>
</ul>

//New
<ul>
<li>Child3</li>
<li>Child1</li>
<li>Child2</li>
</ul>

將新元素添加到開頭時,它將再次重建整個列表。

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


責(zé)任編輯:黃顯東 來源: hackernoon.com
相關(guān)推薦

2010-09-08 16:50:11

JavaScriptDOM操作

2020-09-28 14:26:42

Shadow DOMWeb組件

2016-08-11 16:48:10

ReactjQueryJavaScript

2023-01-01 23:42:22

React框架暗黑模式

2021-02-26 15:10:00

前端React組件交互

2022-07-15 09:01:15

React對象編程

2022-06-22 09:56:19

PythonMySQL數(shù)據(jù)庫

2021-05-23 15:46:23

React代碼前端

2023-12-01 09:18:27

AxiosAxios 庫

2023-01-29 08:00:00

Instagram濾鏡圖片編輯

2009-07-09 10:15:23

PHP DOM

2021-02-22 08:19:49

js前端元素

2022-11-15 18:31:37

React

2024-03-18 09:50:18

Selenium元素Python

2010-09-28 13:50:20

2010-09-28 13:40:52

DOM元素

2010-04-23 15:36:09

Aix操作系統(tǒng)

2022-06-09 13:52:35

Vue協(xié)作開發(fā)項目

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2021-03-08 11:47:34

內(nèi)核Linux內(nèi)核模塊
點贊
收藏

51CTO技術(shù)棧公眾號