跳至主内容

React Native 0.60 正式发布

· 1 分钟阅读
Ryan Turner
核心维护者 & React Native 开发者
非官方测试版翻译

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

经过数百名贡献者数月的辛勤工作,React Native 核心团队自豪地宣布发布 0.60 版本。此版本完成了 Android 和 iOS 平台的重要迁移,并修复了许多问题。这篇博客文章将介绍此次发布的亮点。不过,一如既往,更详细的信息请参考更新日志。最后,感谢贡献者帮助我们实现这一里程碑!

聚焦无障碍功能

我们对无障碍 API 进行了诸多改进,例如 announceForAccessibility,以及 角色操作支持标志 等方面的优化。无障碍是一门复杂的科学,但我们希望这些改进能让无障碍开发变得更轻松一些。请务必查看 2019年6月React Native开源更新 了解这些更改的更多细节。

全新的开始

React Native 的启动界面已焕然一新!感谢众多贡献者协助创建了新的用户界面。这个全新的"Hello World"将以更友好、更吸引人的方式欢迎用户加入生态系统。

新的初始化界面帮助开发者从一开始就能获得资源和良好示例

AndroidX 支持

AndroidX 是 Android 生态系统向前迈出的重要一步,旧的支持库构件正在被弃用。在 0.60 版本中,React Native 已迁移至 AndroidX。这是一项重大变更,您的原生代码和依赖项也需要进行迁移

在此变更之后,React Native 应用需要开始自行使用 AndroidX。它们不能在一个应用中并存,因此所有应用代码和依赖代码都必须使用其中之一。

matt-oakes 发表于 discussions-and-proposals

虽然您需要自行迁移原生代码,但 @mikehardy@cawfree@m4tt72 开发了名为"jetifier"的智能工具来修补您的 node_modules。库维护者需要进行升级,但此工具可为您提供临时解决方案,同时给他们时间发布 AndroidX 版本。因此,如果您遇到与 AndroidX 迁移相关的错误,不妨试试这个工具。

默认使用 CocoaPods

CocoaPods 现已集成到 React Native 的 iOS 项目中。如果你尚未使用,请确保从现在开始使用 xcworkspace 文件打开 iOS 平台代码(小技巧:可在项目根目录尝试 xed ios 命令)。同时,内部包的 podspec 配置已更新以确保与 Xcode 项目兼容,这将有助于故障排查和调试。在升级到 0.60 版本时,你需要对 Podfile 进行一些简单修改来启用这项重要功能。请注意,我们已知晓与 use_frameworks! 的兼容性问题,正在通过此工单追踪临时解决方案和后续补丁。

精简核心模块移除

WebViewNetInfo 此前已被提取到独立代码库,在 0.60 版本中我们已完成将其移出 React Native 主仓库的工作。此外,为响应社区关于新 App Store 政策的反馈,Geolocation 模块也已被提取。若你尚未迁移,请添加 react-native-webview@react-native-community/netinfo@react-native-community/geolocation 依赖项完成迁移。如需自动化解决方案,可考虑使用 rn-upgrade-deprecated-modules。维护者们在模块提取后已向这些仓库提交了 100 多次提交,我们对社区的大力支持感到欣喜!

原生模块自动链接

React Native CLI 团队推出了名为自动链接的重大改进!多数场景下不再需要手动执行 react-native link 命令。同时团队全面重构了链接流程,请根据上述文档使用 react-native unlink 移除现有依赖。

升级助手

@lucasbento@pvinis@kelset@watadarkstar 开发了强大的 Upgrade Helper 工具来简化升级流程。它帮助具有遗留应用或复杂定制需求的 React Native 用户清晰查看版本间的变更差异。请查阅更新后的升级文档,立即体验你的专属升级路径!

升级助手清晰展示迁移到不同 React Native 版本所需的更改

致库维护者

AndroidX 的变更几乎必然要求更新你的库,请尽快添加支持。若暂时无法升级,建议使用 jetifier 工具测试你的库,确保用户能在构建时成功打补丁。

请查阅自动链接文档更新配置和说明文档。根据库的原有集成方式,你可能还需进行额外调整。参考 CLI 的依赖管理指南了解如何定义依赖接口。

致谢

虽然我们重点介绍了这些亮点,但仍有更多令人振奋的改进。要查看所有更新内容,请参阅完整的变更日志。请持续关注后续消息,尽情享受 0.60 版本吧!