首頁  >  文章  >  web前端  >  react虛擬dom有什麼用處

react虛擬dom有什麼用處

WBOY
WBOY原創
2022-06-28 15:51:251950瀏覽

react虛擬dom的用處:1、提升react程式碼效能,虛擬DOM是js對象,創建一個js對象消耗的效能和創建一個真實DOM小很多,把創建真實DOM替換為創建虛擬DOM就會有極大的效能上的提升;2、實現跨端應用,在瀏覽器端是將虛擬DOM轉換為一個個的瀏覽器DOM節點,也可以將他轉換為原生應用的元件來實現跨端應用。

react虛擬dom有什麼用處

本教學操作環境:Windows10系統、react17.0.1版、Dell G3電腦。

react虛擬dom有什麼用處

1.極大的提升了效能

2.它使得跨端應用( React Native )得以實現。在瀏覽器端是將虛擬DOM轉換為一個個的瀏覽器DOM節點。也可以將他轉換為原生應用的元件,跨段應用程式就實現了。

為什麼能提升效能

如果沒有虛擬DOM,那麼就會直接建立真實的DOM,每次資料改變就會去建立一個真實的DOM,然後真實的DOM比較,再去修改真實的DOM,創建真實DOM是需要消耗很多性能的(因為JS生成DOM樹會調用web application級的API,這種級別的API性能損耗是很大的),這樣就會非常消耗性能。

有了虛擬DOM就不一樣了,虛擬DOM是一個js對象,創建一個js對象消耗的性能和創建一個真實DOM要小很多,把創建真實DOM替換為創建虛擬DOM就會有極大的性能上的提升。

虛擬DOM

虛擬DOM是js物件

hello world
//真实DOM ['div', {id: 'abc'}, ['span', {}, 'hello world']]//虚拟DOM

頁面載入和更新流程

1.state資料

2.jsx模板

3.資料模板產生虛擬DOM

4.用虛擬DOM來產生真實DOM

5.state發生變化

6.資料範本產生新的虛擬DOM

7.比較原始的虛擬DOM和新的虛擬DOM(diff演算法)

8.直接操作DOM,改變不一樣的地方

擴充知識:

虛擬DOM的目的是什麼?

為了實現按頁面中DOM元素的高效更新;

在傳統的Web 應用中,我們往往會把資料的變化即時更新到使用者介面中,於是每次資料的微小變動都會造成DOM 樹的重新渲染。

虛擬DOM的目的是將所有操作累積起來,統計計算出所有的變化後,統一更新一次DOM。

極大的提升了效能

它使得跨端應用( React Native )得以實現。在瀏覽器端是將虛擬DOM轉換為一個個的瀏覽器DOM節點。也可以將他轉換為原生應用的元件,跨段應用程式就實現了。

DOM與虛擬DOM的區別

1,虛擬DOM不會進行排版與重繪操作

2,虛擬DOM進行頻繁修改,然後一次比較並修改真實DOM中需要改的部分(注意!),最後並在真實DOM中進行排版與重繪,減少過多DOM節點排版與重繪損耗

3,真實DOM頻繁排版與重繪的效率是相當低的

4,虛擬DOM有效降低大面積(真實DOM節點)的重繪與排版,因為最終與真實DOM比較差異,可以只渲染局部

【相關推薦:javascript影片教學web前端

#

以上是react虛擬dom有什麼用處的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn