发布 React Native 0.68
大家好!今天我们宣布 React Native 0.68.0 版本发布,该版本可选启用新的 React Native 架构、包含错误修复等内容。
章节
0.68 亮点
Andrei Calazans 帮助我们选择了 0.68 带来的最相关更改
重大更改和版本升级
此版本带来了一些重大更改
- React Native 已更新至最新的 LTS Node 16。由于我们在 CI 上会测试 LTS 和之前的 LTS,因此此更改意味着用户现在需要使用版本 >= 14 的 Node。
- Android Gradle 插件已更新至 7.0.1,强制要求 Android 构建使用 JDK 11,因此请务必升级您的配置(我们建议您在 Intel 和 M1 Mac 上都使用
zulu11JDK 版本) - 从 iOS 上的
RCTBundleURLProviderAPI 中移除了fallbackResource。此参数可以安全地从方法调用中移除,无需替换。
工具也已更新——以下是主要的版本升级
- @react-native-community/cli 至 7.0.3
- Metro 至 0.67
- react-devtools-core 依赖项至 4.23.0
- Flipper 至 0.125.0
- react-native-codegen 至 0.0.9
- Kotlin 至 1.6.10
- Soloader 至 0.10.3
- Gradle 至 7.3
- Android 编译和目标 SDK 至 31
此外,感谢 Nicola Corti 的 此提交,Android Gradle 插件将自行下载默认版本的 NDK,因此您不再需要单独指定和安装它。
其他改进
此版本中还有许多其他更改和修复,但这里有一些您可能感兴趣的精选内容
- Gijs Weterings 修复了将 testID 转发到 RCTModalHostView 的问题,以便更轻松地对模态框进行 E2E 定位。
- Liam Jones 修复了一个问题,即调用
console.error会导致 RedBox 与 LogBox 同时出现。 - Sam Kline 修复了 Android 上开发模式下 BundleDownloader 失败后出现的空白屏幕。
- Jeffrey Hyer 修复了一个问题,即 KeyboardAvoidingView 在使用
onLayout属性时未能按预期工作。
如果您对完整更改列表感兴趣,可以在此链接的更改日志中阅读:这里。
致谢
此版本包含 68 位贡献者的 614 次提交!感谢大家!
我们还要感谢发布测试人员和支持者,他们帮助我们在 0.68.0 稳定版发布之前捕获了回归问题:您对此次发布的成功至关重要!
如果您、您的应用程序或您的公司有兴趣加入“发布测试人员”计划,您可以在此处注册。
选择加入新架构
如上所述,React Native 0.68 是第一个支持选择加入 Fabric 渲染器和 TurboModule 系统的版本。这标志着新 React Native 架构推广的一个关键里程碑。为了帮助您快速了解这些变化,我们向网站添加了架构部分,您可以在其中找到几篇关于新系统内部的深入指南。
同时,我们向文档添加了迁移指南,并启动了专门针对新架构的工作组。您可以在之前的博文中找到更多信息,包括如何选择加入。
请注意,新架构仍需一些微调。您所依赖的一些第三方库可能尚未迁移,并且您可能会遇到我们尚未发现的问题。如果您遇到此类问题,请向我们的新架构工作组报告。
关于 React 18: React Native 0.68 不支持 React 18 的新渲染引擎,这将在未来的版本中实现。这是因为 React 18 依赖于新架构才能受益于 React 18 发布博文中介绍的新功能。有关更多信息,请参阅此处的 React Conf 主题演讲。
网站更新
除了对主要代码库的改进外,在 Simek、Megatron4537 和 slorber 的帮助下,网站也进行了一些改进!特别是,您现在可以通过顶部工具栏中的新部分了解如何为 React Native 做贡献。此外,“贡献”部分和新的“架构”部分现在是非版本化的——现在只有这些部分的一个副本,而不是每个 React Native 版本都有一个。

