跳至主要内容

发布 React Native 0.69

·阅读时间 4 分钟
Marek Fořt
Marek Fořt
Shopify 软件工程师
Nicola Corti
Nicola Corti
Meta 软件工程师

我们很高兴发布 React Native 的新版本 0.69.0。此版本包含若干针对 React Native 新架构的改进和新功能:React 18 支持和捆绑的 Hermes。继续阅读以了解更多信息!

章节

React 18

我们很高兴与大家分享,React Native 0.69 是第一个支持 React 18 的版本。React 18 带来了诸多改进,例如 useId 等新的 Hook。此外,React 18 还包含新的并发功能,例如 useTransition 或完整的 Suspense 支持。

在 React Native 0.69 中,React 18 默认启用。但是,如果您尚未迁移到新架构,则只能利用不使用并发渲染和并发功能的功能。新架构在设计时就考虑了并发渲染,但我们无法为旧架构添加该支持。

您可以在此处了解有关 React Native 中 React 18 支持的更多信息 此处

捆绑的 Hermes

在此版本之前,Hermes 和 React Native 是分别发布的。这导致了对哪个版本的 Hermes 与哪个版本的 React Native 兼容的困惑。为了解决此问题,从 React Native 0.69 开始,我们将与 React Native 一起提供一个兼容版本的 Hermes。进行此更改将使在 React Native 中使用 Hermes 更加稳定。

React Native 会处理使用正确的 Hermes 版本,但是,请确保按照升级助手中的步骤操作,以确保集成按预期工作。如果您尚未启用 Hermes,则可以按照此处的步骤操作。虽然我们将继续支持其他 JavaScript 引擎,但我们建议每个人都迁移到 Hermes 以获得最佳体验并确保我们能够更好地为您提供支持。

请注意,Android 上新架构的用户需要从源代码构建 Hermes。对于从源代码构建 Hermes,Windows 用户还需要按照这些步骤操作。

如果您有兴趣详细了解 React Native 如何捆绑 Hermes 的工作原理,可以查看此处提供的深入文档此处

新架构

我们正在继续推出适用于 Android 和 iOS 的新架构。如果您尚未迁移您的应用或库,请按照此处的步骤操作。您还可以阅读有关新架构的工具和资源的最新更新以了解更多信息。

0.69 的亮点

如上所述,此版本中最重要的改进集中在 React 18 支持和捆绑的 Hermes 上。但是,还有一些其他值得注意的更改,包括

  • 弃用对 iOS/tvOS SDK 11.0 的支持,现在需要 12.4+ 版本
  • 更好地支持开发 Android 的 M1 用户
  • 添加了新的 .xcode.env 配置文件,用于更确定性地获取 node 可执行文件
  • React Native 现在使用Android 11 中最新的状态栏 API
  • 支持 C++17
  • 新的hotkeysEnabled 选项位于 iOS 调试菜单中

重大更改

也有一些重大更改

  • React Native CLI 已升级到新的主要版本8.0
    • linkunlink 命令已被删除,取而代之的是自动链接
    • 已弃用的 initCompat 已被删除,请改用 init 命令
    • 删除了已弃用的 run-android 属性
    • 删除了 installuninstall 命令
    • react-native.config.js 中删除了资产和 Hook - 您需要从您的配置中删除这些属性
    • podspecPath 已从 iOS 依赖项配置中删除
    • run-ios 中删除了 --project-path 选项
    • iOS 源目录检测已从查找 Xcode 项目更改为查找 Podfile
  • console.disableYellowBox 的支持已删除
  • 已删除之前已弃用的 PropTypes (cdfddb4dad3e229f27bc10199b1581)
  • removeListener 自 RN 0.65 以来已弃用,已从Appearance 中删除
  • 如果您之前使用的是 SegmentedComponentIOS,现在需要将其替换为第三方库,例如 segmented-control (235f168574)

升级

我们还升级了一些依赖项

您可以在 更新日志 中查看完整的更改列表。

鸣谢

80 位贡献者通过他们的 629 次提交帮助实现了此版本的发布 - 感谢大家!

我们还要感谢发布测试人员、支持者以及所有提供反馈的人,他们确保此版本尽可能稳定。