這篇文章主要介紹“react虛擬dom有哪些用處”,在日常操作中,相信很多人在react虛擬dom有哪些用處問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”react虛擬dom有哪些用處”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比韓城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式韓城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋韓城地區(qū)。費用合理售后完善,十載實體公司更值得信賴。
react虛擬dom的用處:1、提升react代碼性能,虛擬DOM是一個js對象,創(chuàng)建一個js對象消耗的性能和創(chuàng)建一個真實DOM要小很多,把創(chuàng)建真實DOM替換為創(chuàng)建虛擬DOM就會有極大的性能上的提升;2、實現(xiàn)跨端應(yīng)用,在瀏覽器端是將虛擬DOM轉(zhuǎn)換為一個個的瀏覽器DOM節(jié)點,也可以將他轉(zhuǎn)換為原生應(yīng)用的組件來實現(xiàn)跨端應(yīng)用。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
1.極大的提升了性能
2.它使得跨端應(yīng)用( React Native )得以實現(xiàn)。在瀏覽器端是將虛擬DOM轉(zhuǎn)換為一個個的瀏覽器DOM節(jié)點。也可以將他轉(zhuǎn)換為原生應(yīng)用的組件,跨段應(yīng)用就實現(xiàn)了。
為什么能提升性能
如果沒有虛擬DOM,那么就會直接創(chuàng)建真實的DOM,每次數(shù)據(jù)改變就會去創(chuàng)建一個真實的DOM,然后真實的DOM比較,再去修改真實的DOM,創(chuàng)建真實DOM是需要消耗很多性能的(因為JS生成DOM樹會調(diào)用web application級的API,這種級別的API性能損耗是很大的),這樣就會非常消耗性能。
有了虛擬DOM就不一樣了,虛擬DOM是一個js對象,創(chuàng)建一個js對象消耗的性能和創(chuàng)建一個真實DOM要小很多,把創(chuàng)建真實DOM替換為創(chuàng)建虛擬DOM就會有極大的性能上的提升。
虛擬DOM
虛擬DOM是一個js對象
hello world//真實DOM ['div', {id: 'abc'}, ['span', {}, 'hello world']]//虛擬DOM
頁面加載和更新過程
1.state數(shù)據(jù)
2.jsx模板
3.數(shù)據(jù) + 模板生成虛擬DOM
4.用虛擬DOM來生成真實DOM
5.state發(fā)生變化
6.數(shù)據(jù) + 模板 生成新的虛擬DOM
7.比較原始的虛擬DOM和新的虛擬DOM(diff算法)
8.直接操作DOM,改變不一樣的地方
擴(kuò)展知識:
虛擬DOM的目的是什么?
為了實現(xiàn)按頁面中DOM元素的高效更新;
在傳統(tǒng)的 Web 應(yīng)用中,我們往往會把數(shù)據(jù)的變化實時地更新到用戶界面中,于是每次數(shù)據(jù)的微小變動都會引起 DOM 樹的重新渲染。
虛擬DOM的目的是將所有操作累加起來,統(tǒng)計計算出所有的變化后,統(tǒng)一更新一次DOM。
極大的提升了性能
它使得跨端應(yīng)用( React Native )得以實現(xiàn)。在瀏覽器端是將虛擬DOM轉(zhuǎn)換為一個個的瀏覽器DOM節(jié)點。也可以將他轉(zhuǎn)換為原生應(yīng)用的組件,跨段應(yīng)用就實現(xiàn)了。
DOM和虛擬DOM的區(qū)別
1,虛擬DOM不會進(jìn)行排版與重繪操作
2,虛擬DOM進(jìn)行頻繁修改,然后一次性比較并修改真實DOM中需要改的部分(注意!),最后并在真實DOM中進(jìn)行排版與重繪,減少過多DOM節(jié)點排版與重繪損耗
3,真實DOM頻繁排版與重繪的效率是相當(dāng)?shù)偷?/p>
4,虛擬DOM有效降低大面積(真實DOM節(jié)點)的重繪與排版,因為最終與真實DOM比較差異,可以只渲染局部
到此,關(guān)于“react虛擬dom有哪些用處”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站名稱:react虛擬dom有哪些用處
文章轉(zhuǎn)載:http://weahome.cn/article/pccjed.html