久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

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

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

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

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

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

反應虛擬DOM與影子DOM

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

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

  DOM 表示您網站的結構。

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

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

  什么是虛擬 DOM?

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

  換句話說,React 構建了一個邏輯樹,用于表示引擎蓋下的實際 DOM 結構。

  為什么我們需要虛擬 DOM?

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

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

  導航 DOM 會變慢,需要更多的處理能力,最終影響應用程序的性能。

  例如,它會使頁面變慢。

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

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

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

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

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

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

  什么是暗影多姆?

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

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

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

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

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

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

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

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

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

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

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

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

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