您好,登錄后才能下訂單哦!
這篇文章主要介紹“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電腦。
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有哪些用處”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。