React 是一个完全不同的野兽,可以追溯到近十年前。它是由 Facebook 开发的,因为太多的团队在同一个团队中进行了太多的更新DOM。所以他们想出了一个virtual在写入浏览器之前合并所有必需的 DOM 更新的 DOMDOM.
非常适合 Facebook。 Custom Elements API 和 Svelte(编译,不转换)等较新的技术已证明它不再是最佳解决方案。
反应过时的技术现在得分微薄的71% on https://custom-elements-everywhere.com/
React 和 W3C 自定义元素不是朋友
因为 React 不跟踪绿色 DOM 元素。
如果你想混合绿色和黄色,你基本上必须将每个组件重写/包装成 React 语法。因为 React 不仅处理 DOM 元素different,但 DOM 事件也可以different.
![](https://i.stack.imgur.com/Tbp8gl.png)
未来
这创造了一个有趣的未来:React 和 W3C 标准存在分歧.
W3C 标准实际上是由浏览器供应商制定的,
不是由 W3C 制定的,正如我们从从未实施过的案例中学到的那样ECMAScript 4传奇 (1999 - 2008)
So its
苹果 (Safari) + Mozilla (FireFox) + 谷歌/微软 (Chromium/Chredge)
versus
Facebook(没有浏览器!)
W3C 的“问题”是所有成员都必须就一个标准达成一致;这就是为什么自定义元素 API 花了数年时间才成熟……而 React 取得了先机
脸书现在做的"own"60%的开发商市场...
但是嘿,
微软占据了浏览器市场 90% 的份额...once,
几乎所有设备上都安装了 Flash……once
自定义元素API
只要 ECMAScript 在浏览器中运行,就会存在
它不是框架或库!它是一种语言构造。
不学习自定义元素就像说:
我没有学习 Set 或 Map,我可以用数组做所有事情
旧的咆哮:Web 组件 - 服务/非 html 组件
或者相信 2020 年前端调查:
![](https://i.stack.imgur.com/5xXFL.jpg)