跳到主要内容

宣布 React Native 0.69

· 阅读需 5 分钟
Marek Fořt
Marek Fořt
Software Engineer @ Shopify
Nicola Corti
Nicola Corti
Software Engineer @ Meta

我们很高兴发布 React Native 新版本 0.69.0。此版本针对 React Native 新架构带来了多项改进与新功能:支持 React 18 及内置 Hermes。继续往下阅读以了解更多内容!

目录

React 18

我们很高兴与您分享,React Native 0.69 是首个支持 React 18 的版本。React 18 带来了诸多改进,例如新的 Hook:useId。此外,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 版本。这一改动将使 Hermes 在 React Native 中的使用更加稳定。

Hermes 版本的正确使用由 React Native 管理,但请确保按照升级助手中的步骤操作以保证集成正常。如果您尚未启用 Hermes,可以参考这里的步骤进行启用。虽然我们会继续支持其他 JS 引擎,但推荐所有用户迁移到 Hermes,以获得最佳体验并确保更好的支持。

请注意,运行新架构的 Android 用户需要从源码构建 Hermes。Windows 用户如需从源码构建 Hermes,还需额外遵循这些步骤

如果您对 React Native 内置 Hermes 的工作原理感兴趣,可以查看深入文档这里

新架构

我们正在继续推进新架构在 Android 和 iOS 上的部署。如果您尚未迁移应用或库,请按照这里的步骤进行。您也可以阅读关于新架构工具和资源的最新更新以了解更多。

0.69 亮点

如上所述,此版本最重要的改进是聚焦于 React 18 支持和内置 Hermes。但还有其他值得注意的变更,包括:

破坏性变更

此外,还包含一些破坏性变更:

  • React Native CLI 升级到新主版本 8.0
    • 移除 linkunlink 命令,改为自动链接
    • 移除废弃的 initCompat,请使用 init 命令
    • 移除废弃的 run-android 属性
    • 移除 installuninstall 命令
    • 移除 react-native.config.js 中的 assets 和 hooks 属性,需从配置中删除这些属性
    • iOS 依赖配置中移除 podspecPath
    • 移除 run-ios 命令的 --project-path 选项
    • iOS 源目录的检测改为查找 Podfile,而非 Xcode 项目
  • 不再支持 console.disableYellowBox 相关功能已移除
  • 已废弃的 prop types 被移除(cdfddb4dad3e229f27bc10199b1581
  • 已从 Appearance 移除自 RN 0.65 起废弃的 removeListener8dfbed786b
  • 如果您使用 SegmentedComponentIOS,现在需要替换为第三方库,例如 segmented-control235f168574

依赖升级

我们还升级了部分依赖:

您可以在变更日志中查看完整变更列表。

致谢

共有 80 名贡献者,通过 629 次提交帮助实现了本次发布——感谢大家!

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