这篇主要讲述了 React 团队对React 18进行版本更新的相关内容。
- React 18版本工作已经着手启动,这将是下一个主要版本。
- 工作组已经创建完成,为社区逐步采用React 18的新功能做准备。
- React 18 Alpha已经发布,以便库作者可以试用并提供反馈。
这些更新主要是针对第三方库的维护者。如果你正在学习、教学或使用React来构建面向用户的应用程序,你可以忽略这个帖子。但如果你感到好奇,欢迎你关注React 18工作组的讨论。
React 18中即将出现的内容
发布时,React 18将包括开箱即用的改进(如自动批处理)、新的API(如 startTransition
),以及一个新的流媒体服务器渲染器,内置支持React.lazy
。
这些功能的实现要归功于我们在React 18中加入的一个新的选择机制。它被称为 "并发渲染",可以让React同时准备多个版本的UI。这个变化主要是在幕后,但它可以改善应用程序的实际和感知性能。
如果你一直在关注我们对React未来的研究,可能会听说过一个叫做 "并发模式 "的东西,它可能会破坏你的应用程序。为了回应社区的这种反馈,我们重新设计了升级策略,以便逐步采用。并发渲染将只在由其中一个新功能触发的更新中启用,而不是一个全有或全无的 "模式"。在实践中,这意味着你将能够在不重写的情况下采用React 18,并按照自己的节奏尝试新的功能。
渐进式采用策略
由于React 18中的并发性是可选择的,所以对组件行为没有重大的开箱即用的突破性变化。你可以升级到React 18,只需对你的应用程序代码做最小或不做任何改动,其努力程度与典型的React主要版本相当。根据我们将几个应用程序转换到React 18的经验,我们预计许多用户将能够在一个下午内完成升级。
我们在Facebook成功地将并发的功能交付给数以万计的组件,根据以往的经验,我们发现大多数React组件 "只是工作 "而不需要额外的改变。我们的目标是致力于确保整个社区都能顺利升级,所以今天我们宣布成立React 18工作组。
在这个版本中,我们正在尝试一些新的东西。我们邀请了来自整个React社区的专家、开发者、库作者和教育者参加我们的React 18工作组,以提供反馈、提出问题,并就该版本进行合作。我们无法邀请所有我们想要的人参加这个最初的小团体,但如果这个实验成功了,我们希望将来会有更多的人加入我们的团队。
React 18工作组的目标是为生态系统做好准备,使现有的应用程序和库能够顺利、逐步地采用React 18。该工作组托管在GitHub讨论区,供公众阅读。工作组成员可以留下反馈,提出问题,并分享想法。核心团队也将使用讨论区的 repo 来分享我们的研究结果。随着稳定版的发布越来越近,任何重要的信息也会在这个博客上发布。
关于升级到React 18的更多信息,或者关于该版本的更多资源,请看React 18公告帖子。
访问React 18工作组
每个人都可以阅读React 18工作组中的讨论。
只有被邀请的成员才被允许创建或评论线程,但这些线程对公众是完全可见的,所以每个人都可以获得相同的信息。我们相信这是一个很好的折衷办法,既能为工作组成员创造一个富有成效的环境,又能保持对广大社区的透明度。
像往常一样,你可以向我们的问题跟踪器提交错误报告、问题和反馈。
今天如何尝试React 18 Alpha?
新的阿尔法版本会定期使用@alpha
标签发布到npm。这些版本是使用我们主版本的最新提交来构建的。当一个功能或错误被合并时,它将在下一个工作日出现在alpha中。
在alpha版本之间可能会有重大的行为或API变化。请记住,alpha版本不建议用于面向用户的生产应用。
预测的React 18发布时间表
我们没有安排具体的发布日期,但预计需要几个月的反馈和迭代,React 18才能为大多数生产应用做好准备。
- Alpha库:今天可用
- 公开测试版:至少几个月
- 候选发布版(RC):至少在Beta版之后几周
- 全面上市:至少在RC之后几周
关于我们预计的发布时间表的更多细节可以在工作组中找到。当我们准备公开发布时,我们会实时更新。