[关闭]
@qinyun 2018-09-02T15:47:50.000000Z 字数 2159 阅读 1269

FB推出React Fire,使React DOM更现代化

未分类


昨天,React开发者、Redux 和 Create React App 作者之一的Dan Abramov gaearon在GitHub上的React issue 上宣布了一个名为 React Fire的项目,他表示这个项目旨在使React DOM更现代化,目标是让React可以更好地与DOM的工作方式保持一致,React团队会重新审视之前做出的一些有争议的决策,并让React变得更小更快。

他表示,今年以来,React团队主要关注的是React的基础改进(https://reactjs.org/blog/2018/03/01/sneak-peek-beyond-react-16.html),目前这项工作已经接近尾声。接下来,他们开始考虑React DOM的下一个主要版本应该是什么样子的。

由于现在存在相当多的问题,如果不对内部做一些大手术,有些问题很难甚至无法解决。所以他们希望能够撤销过去犯下的一些错误,这些错误导致了无穷无尽的后续修复和大量的技术债务。他们还希望删除事件系统中的一些抽象,这些抽象从React诞生之日起就几乎没有被动过,它们也是造成复杂性和臃肿的库文件的罪恶之源。这项行动称为“React Fire”。

React Fire的具体规划

React团队可能会在当前的计划中添加或删除一些内容,但总体是这样考虑的:

权衡利弊

Dan表示,如果继续为React Native Web等项目公开当前的私有React事件系统API,他们就无法做出这些变更。不过,React Native Web需要一个不同的策略,因为React Fabric可能会将更多的响应者系统移到Native端。

所以,React团队可能需要放弃与某些旧版浏览器的兼容性,或者需要提供更多独立的polyfill。不过,他们仍希望能够支持IE11,但可能不会试图消除现有浏览器的一些差异——这也是很多现代UI库所采取的立场。

未来计划

在这个阶段,这个项目非常具有探索性。React团队不确定上述的所有事情是否能够奏效。他们会在Facebook内部进行实验,并以渐进的方式逐步实现。可能还需要引入一个功能标志,fork出一些代码,并让Facebook的一小部分人先试用新功能。16.x开源版本将保留旧有的行为,但在master上,可以通过功能标志开启新功能。

英文原文

https://github.com/facebook/react/issues/13525

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注