React 18 计划

1,225 阅读5分钟

翻译自 React 官方博客《The Plan for React 18》
原文:reactjs.org/blog/2021/0…

React 团队很高兴分享一些更新:

我们已经开始开发 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 组件“just work”,无需额外更改。我们致力于确保这对整个社区将会是一次顺利升级,因此今天我们宣布成立 React 18 工作组。

与社区合作

我们正在为这个版本尝试一些新的东西:我们已经邀请了来自整个 React 社区的专家、开发人员、库作者和教育工作者参加我们的 React 18 工作组,以提供反馈、提出问题、在版本发布上进行合作。我们无法邀请我们想要的每个人加入这个最初的小团体,但如果这个实验成功,我们希望将来会有更多!

React 18 工作组的目标,是为现有应用程序和库的顺利、逐步采用 React 18 做好准备。工作组托管在 GitHub 讨论区,可供公众阅读。工作组的成员可以留下反馈、提出问题、分享想法。核心团队还将使用讨论库来分享我们的研究结果。随着稳定版本的临近,任何重要信息也将发布在此博客上。

有关升级到 React 18 的更多信息,或有关该版本的其他资源,请参阅 React 18 公告帖

访问 React 18 工作组

每个人都可以阅读 React 18 工作组 repo 中的讨论。

由于我们预计一开始对工作组的兴趣会激增,因此只允许受邀成员创建或评论帖子。但是,这些帖子对公众完全可见,因此每个人都可以访问相同的信息。我们相信这是在为工作组成员创造高效环境与保持与更广泛社区的透明度之间的良好折衷。

与往常一样,你可以在我们的 issues 提交 bug 报告、问题、或反馈。

现在如何试用 React 18 Alpha

新的 alpha 会使用 @alpha 标签定期发布到 npm。这些版本是使用对我们主 repo 的最新提交构建的。合并功能或错误修复后,它将在下一个工作日显示在 alpha 中。

在 alpha 版本之间可能会有显着的行为或 API 更改。请记住不建议将 alpha 版本用于面向用户的线上应用程序

预计的 React 18 发布时间表

我们没有安排特定的发布日期,但我们预计在 React 18 为大多数线上应用程序做好准备之前,需要几个月的反馈和迭代。

  • Alpha 版:今天可用
  • 公开测试版 (Beta):至少几个月
  • 候选版本 (RC):Beta 测试后至少几周
  • 通用可用版:RC 后至少几周

有关我们预计发布时间表的更多详细信息,请参阅工作组。当我们接近公开发布时,我们将在此博客上发布更新。