跳至主内容

React Native 0.69 正式发布

· 1 分钟阅读
Marek Fořt
Marek Fořt
Software Engineer @ Shopify
Nicola Corti
Nicola Corti
Software Engineer @ Meta
非官方测试版翻译

本页面由 PageTurner AI 翻译(测试版)。未经项目官方认可。 发现错误? 报告问题 →

我们很高兴发布 React Native 的新版本 0.69.0。此版本针对 React Native 的新架构(New Architecture)进行了多项改进,并带来了两大新特性:支持 React 18 以及内置 Hermes。请继续阅读了解详情!

目录

React 18

我们很高兴地宣布,React Native 0.69 是首个支持 React 18 的版本。React 18 带来了多项重大改进,包括新增的 useId 等钩子函数。此外,React 18 还引入了新的并发特性,例如 useTransition 和完整的 Suspense 支持。

在 React Native 0.69 中,React 18 已默认启用。但请注意,如果尚未迁移到新架构(New Architecture),您将只能使用那些不依赖并发渲染和并发特性的功能。新架构在设计时就考虑了并发渲染的支持,而旧架构无法获得此类支持。

您可在此处详细了解 React Native 对 React 18 的支持情况

内置 Hermes

在此版本之前,Hermes 和 React Native 是分开发布的,这导致开发者难以确定哪个 Hermes 版本与哪个 React Native 版本兼容。为解决此问题,从 React Native 0.69 开始,我们将随 React Native 一同发布兼容的 Hermes 版本。这一改变将使 Hermes 在 React Native 中的使用更加稳定可靠。

React Native 会自动处理 Hermes 版本适配问题,但仍需确保按照升级助手的步骤操作以保证集成正常。若尚未启用 Hermes,可按照此文档进行操作。虽然我们会继续支持其他 JavaScript 引擎,但我们强烈建议所有开发者迁移到 Hermes,以获得最佳体验并确保我们能提供更好的支持。

请注意:Android 平台上使用新架构(New Architecture)的用户需要从源码构建 Hermes。对于 Windows 用户,从源码构建 Hermes 时还需额外遵循这些步骤

若想深入了解 React Native 内置 Hermes 的工作原理,可查看深度解析文档

新架构(New Architecture)

我们正在持续推进 Android 和 iOS 平台的新架构(New Architecture)落地。若您尚未迁移应用或库,请按此处指南操作。您也可阅读关于新架构工具和资源的最新更新以了解更多信息。

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 源目录检测逻辑从查找 Xcode 项目改为查找 Podfile
  • 取消支持 console.disableYellowBox

  • 已废弃的 prop types 已被移除(cdfddb4dad3e229f27bc10199b1581

  • 自 RN 0.65 起已废弃的 removeListener 方法已从 Appearance API 移除

  • 若您曾使用 SegmentedComponentIOS,现在需替换为第三方库(例如 segmented-control)(235f168574

依赖升级

我们升级了部分依赖项:

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

致谢

本次发布由 80 位贡献者通过 629 次提交共同实现——感谢每一位的付出!

我们还要特别感谢版本测试人员、支持者以及所有提供反馈的开发者,正是你们的努力确保了此次发布的稳定性