首页 > 解决方案 > 为什么我应该/不应该升级到 react-native 0.60.0?

问题描述

目前,react-native 已经发布了 0.60.0 版本,它有一些重大变化,但他们在这个版本中添加了许多原生支持。

我目前正在从事我的 3 个项目。

第一个项目信息
- react: 16.0.0-beta.5 => 16.0.0-beta.5
- react-native: 0.49.0 => 0.49.0
这个项目包含许多第三方库,其中一些没有事件维护由业主。

第二个项目信息
- react
: 16.6.3 => 16.6.3 - react-native: 0.57.8 => 0.57.8
这个项目包含 12 个第三方库。

第三个项目信息
- react: 16.8.5 => 16.8.5
- react-native: 0.59.2 => 0.59.2
这个项目包含 7 个第三方库。

目前,所有三个项目都在调试模式下工作(没有尝试发布模式)。
现在我想从上述项目中知道我应该将哪个迁移到 react-native 0.60.0(为什么)?
如果我不迁移到 react-native 0.60.0 怎么办?
如果我迁移到 react-native 0.60.0 会有哪些挑战?
请指导我。
欢迎提出建议。

标签: reactjsreact-nativereact-native-androidreact-native-ios

解决方案


这是特定的版本时间线,它将通过权衡取舍让您的应用程序受益。

v0.59.x

  • Android 64 位,Play 商店发布的强制要求。
  • 反应钩子
  • 新的安卓javascript核心引擎,让你的应用更流畅。

v0.60.x

  • 默认情况下 CocoaPods,更容易集成 3rd 方库,尤其是原生模块!
  • AndroidX,这将破坏 3rd 方库(甚至是更新的库,需要时间来更新它)。
  • Webview并被Geolocation移除。
  • 爱马仕javascript引擎!启动速度更快

建议

在我看来,尝试升级到 0.59 是最安全的最佳选择,因为没有它,您将无法在需要您的应用程序 64 位兼容的 Play 商店上发布您的应用程序。0.60可以等待,因为许多库(甚至是更新的库!)仍然不支持0.60

  1. 显然0.49的项目是最难升级的,因为有时您需要分叉未维护的库并自己修复它。
  2. 0.57的项目升级到0.59会容易得多,因为结构主要没有太大变化。可以参考https://github.com/react-native-community/rn-diff-purge

推荐阅读