发布 React Native 0.69
我们很高兴发布 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 更加稳定。
使用正确版本的 Hermes 由 React Native 处理,但是,请务必遵循升级助手中的步骤,以确保集成按预期工作。如果您尚未启用 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配置文件,以便更确定性地获取节点可执行文件 - React Native 现在使用 Android 11 中最新的状态栏 API
- 支持 C++17
- iOS 调试菜单中的新
hotkeysEnabled选项
重大变更
也有一些重大变更
- React Native CLI 已升级到新主要版本8.0
link和unlink命令已删除,转而使用自动链接- 已删除已弃用的
initCompat,请改用init命令 - 已删除已弃用的
run-android属性 - 已删除
install和uninstall命令 - 已从
react-native.config.js中删除资产和 Hook – 您需要从配置中删除这些属性 - 已从 iOS 依赖项配置中删除
podspecPath - 已从
run-ios中删除--project-path选项 - 将 iOS 源目录检测从查找 Xcode 项目更改为查找 Podfile
- 已取消支持
console.disableYellowBox - 已删除已弃用的 prop 类型(cdfddb4dad、3e229f27bc、10199b1581)
- 自 RN 0.65 起已弃用的
removeListener已从 Appearance 中删除 - 如果您之前使用的是
SegmentedComponentIOS,现在需要将其替换为第三方库,例如segmented-control(235f168574)
升级
我们升级了一些依赖项
- 将 AGP升级到 7.1.1 – 我们建议在您的应用中坚持使用此版本
- Android 的
boost已更新到 1.76,以与 iOS 对齐 - Ruby已升级到 2.7.5
- 直接 metro 依赖项已升级到 0.70.1
您可以在更新日志中查看完整的更改列表。
致谢
80 位贡献者通过 629 次提交帮助实现了此版本 – 感谢大家!
我们还要感谢发布测试人员、支持者以及所有提供反馈以确保此版本尽可能稳定的人。

