反应内部不支持影子 dom 的原因是什么?目前,为了解决样式封装问题,我们需要使用第三方库。
Shadow DOM 仅在现代浏览器的最新版本(仅限 Chrome、Opera 和 Firefox(中实现。
虽然 React 团队已经为更多的浏览器和旧版本开发了解决方案。
此外,切换到Shadow DOM将意味着框架架构和哲学上的许多变化(没有复古兼容性(。
最后,我想团队对目前的虚拟DOM感到满意。
虚拟 DOM 速度更快,因为避免对 DOM 进行不必要的更改,这在性能方面是昂贵的,因为对 DOM 的更改通常会导致页面的重新渲染,它还允许收集要一次应用的多个更改,因此并非每个更改都会导致重新渲染,而是在将一组更改应用于 DOM 后仅发生一次重新渲染。
如果你觉得有必要在 react 中实现影子 DOM,我们在这里:
https://github.com/Wildhoney/ReactShadow