免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 反應(yīng)虛擬DOM與影子DOM:有什么區(qū)別

反應(yīng)虛擬DOM與影子DOM:有什么區(qū)別

來源:千鋒教育
發(fā)布人:syq
時間: 2022-09-14 14:52:23 1663138343

  反應(yīng)和 Vue.js使用虛擬 DOM 來優(yōu)化性能。那么影子多姆是什么呢?

  如果你使用 React 或 Vue,你可能熟悉虛擬 DOM(文檔對象模型)。這不應(yīng)與影子 DOM 混淆。

反應(yīng)虛擬DOM與影子DOM

  在查看虛擬 DOM 和影子 DOM 之前,您應(yīng)該清楚地了解文檔對象模型。

  為此,通俗地說,我們會說

  DOM 表示您網(wǎng)站的結(jié)構(gòu)。

  如果您想了解有關(guān) DOM 的創(chuàng)建位置以及 HTML、DOM 和 JavaScript 之間的關(guān)系的更多信息,請考慮閱讀什么是 DOM?

  現(xiàn)在我們對 DOM 有了一些了解,讓我們看看什么是虛擬 DOM。

  什么是虛擬 DOM?

  簡而言之,虛擬 DOM (VDOM) 是一個編程概念,其中 UI 的理想或“虛擬”表示形式保存在內(nèi)存中,并通過庫(如 reactDOM by reactjs.org)與“真實(shí)”DOM 同步。

  換句話說,React 構(gòu)建了一個邏輯樹,用于表示引擎蓋下的實(shí)際 DOM 結(jié)構(gòu)。

  為什么我們需要虛擬 DOM?

  虛擬DOM是解決現(xiàn)代網(wǎng)絡(luò)中常見問題的一種方法。

  雖然應(yīng)用程序變得越來越大,但框架和庫往往會過于頻繁地操作和更新 DOM。這在很多方面可能很昂貴。

  導(dǎo)航 DOM 會變慢,需要更多的處理能力,最終影響應(yīng)用程序的性能。

  例如,它會使頁面變慢。

  有幾種方法可以解決此問題:

  React 使用虛擬 DOM,并通過對賬過程將其同步到真實(shí)的 DOM。

  Angular使用更改檢測機(jī)制“來查看您的應(yīng)用程序狀態(tài)是否已更改以及是否需要更新任何DOM”。

  維尤還使用虛擬 DOM。通過使用一些差異算法,Vue 避免了在新更改后重新渲染整個 DOM。

  簡而言之,讓我們記住,虛擬 DOM 是真實(shí) DOM 的副本。

  通過告訴 React 我們想要實(shí)現(xiàn)的最終 DOM 狀態(tài)(UI 的外觀),React 確保 DOM 與該狀態(tài)匹配。

  什么是暗影多姆?

  Shadow DOM是一種專為封裝而設(shè)計的瀏覽器技術(shù),例如,保持標(biāo)記結(jié)構(gòu),樣式和行為的隱藏,并與頁面上的其他代碼分開,以便不同的部分不會發(fā)生沖突,MDN。

  封裝會屏蔽某些代碼,使其不會與頁面上的其他代碼沖突。

  換句話說,由于影子DOM,我們可以將其他元素附加到真正的DOM,知道新元素不會與真正的DOM本身沖突。

  MDN提出的一個例子是標(biāo)簽。雖然您只能在 DOM 中看到 標(biāo)記,但此元素在其影子 DOM 中包含一系列按鈕和其他控件。

  虛擬 DOM 和影子 DOM 之間的差異

  關(guān)于虛擬 DOM 和影子 DOM 之間的區(qū)別,我們能說些什么呢?這有點(diǎn)像 Java 和 Java 腳本之間的差異!

  盡管提到了 DOM,但虛擬 DOM 和影子 DOM 是不同的技術(shù)。

  虛擬 DOM 被 React 和 Vue 等庫用來解決在保持最佳性能的同時更改 DOM 的問題。

  虛擬 DOM 是整個真實(shí) DOM 的副本,并在瀏覽器 API 之上實(shí)現(xiàn)。

  影子 DOM 是 Web 組件和瀏覽器 API 中固有的。因此,它也可以在使用 React 和 Vue 等庫或 Angular 等框架時使用。

  影子 DOM 是一塊 DOM,在其自己的 Web 組件中被“屏蔽”。

  相反,如果您要使用普通 JavaScript 創(chuàng)建應(yīng)用程序,則不會使用虛擬 DOM。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語言是一種以簡潔和有效性為目標(biāo)的編程語言,因此在設(shè)計過程中,Go的設(shè)計者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36
快速通道