React已经杀死了Shadow-DOM的概念

时间:2019-03-21 10:24:45

标签: reactjs shadow-dom

Shadow DOM被设计为用于构建基于组件的应用程序的工具。

但是,如果我在React中使用基于组件的样式,这意味着每个组件仅加载其自己的CSS文件,我是否仍然需要Shadow DOM的概念?

1 个答案:

答案 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的需要和使用无关。