Shadow DOM被设计为用于构建基于组件的应用程序的工具。
但是,如果我在React中使用基于组件的样式,这意味着每个组件仅加载其自己的CSS文件,我是否仍然需要Shadow DOM的概念?
答案 0 :(得分:2)
您的声明“ Shadow DOM被设计为构建基于组件的应用程序的工具。”是不准确的,应为“ Shadow DOM被设计为封装DOM和CSS”。 我可以在不编写单个组件的情况下使用Shadow DOM,也可以在不使用Shadow DOM的情况下编写组件。
React是为自己的组件类型做自己的事情的许多框架之一。但这并不能消除Shadow DOM的目的。
标准HTML元素使用Shadow DOM。像<video>
和<audio>
这样的元素就是很好的例子。您没有看到Shadow DOM内的内容,也不需要。
如果更多的组件开发人员将使用<audio>
和<video>
作为如何编写小型可重用组件的示例,那么事情会更好地融合在一起。但是,通常,开发人员都希望将整个页面变成一个组件,而这并不是编写代码的最佳方法。
React,Vue,Angular和其他方法可以用来创建组件和页面。他们是否使用Shadow DOM与Shadow DOM的需要和使用无关。