为什么 React 不包含影子 DOM?它不会比在JS解决方案中使用CSS使生活轻松得多吗?



反应内部不支持影子 dom 的原因是什么?目前,为了解决样式封装问题,我们需要使用第三方库。

Shadow DOM 仅在现代浏览器的最新版本(仅限 Chrome、Opera 和 Firefox(中实现。

虽然 React 团队已经为更多的浏览器和旧版本开发了解决方案。

此外,切换到Shadow DOM将意味着框架架构和哲学上的许多变化(没有复古兼容性(。

最后,我想团队对目前的虚拟DOM感到满意。

虚拟 DOM 速度更快,因为避免对 DOM 进行不必要的更改,这在性能方面是昂贵的,因为对 DOM 的更改通常会导致页面的重新渲染,它还允许收集要一次应用的多个更改,因此并非每个更改都会导致重新渲染,而是在将一组更改应用于 DOM 后仅发生一次重新渲染。

如果你觉得有必要在 react 中实现影子 DOM,我们在这里:

https://github.com/Wildhoney/ReactShadow

最新更新