中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react虛擬dom有哪些用處

發布時間:2022-06-29 09:24:21 來源:億速云 閱讀:152 作者:iii 欄目:web開發

這篇文章主要介紹“react虛擬dom有哪些用處”,在日常操作中,相信很多人在react虛擬dom有哪些用處問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”react虛擬dom有哪些用處”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

react虛擬dom的用處:1、提升react代碼性能,虛擬DOM是一個js對象,創建一個js對象消耗的性能和創建一個真實DOM要小很多,把創建真實DOM替換為創建虛擬DOM就會有極大的性能上的提升;2、實現跨端應用,在瀏覽器端是將虛擬DOM轉換為一個個的瀏覽器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對象

<div id='abc'><span>hello world</span></div>//真實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比較差異,可以只渲染局部

到此,關于“react虛擬dom有哪些用處”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元氏县| 潼关县| 徐闻县| 夏河县| 新源县| 修武县| 彭山县| 达州市| 沙湾县| 日土县| 噶尔县| 阳江市| 永泰县| 林甸县| 拜城县| 佛冈县| 鄂伦春自治旗| 太谷县| 台中县| 湄潭县| 绍兴县| 泰兴市| 德保县| 微博| 高邮市| 耿马| 赤峰市| 宜城市| 会理县| 中西区| 南宫市| 额尔古纳市| 沂源县| 本溪| 龙陵县| 互助| 梅州市| 宜宾市| 平塘县| 衡阳县| 太仓市|