我的建议是升级到最新版本。无论如何,都会有足够的依赖性问题,因此您最好只处理一次。
从React Native升级页面
(https://facebook.github.io/react-native/docs/upgrading https://facebook.github.io/react-native/docs/upgrading)
你可以运行:
npm install -g react-native-git-upgrade
npm install -g @react-native-community/cli
react-native-git-upgrade
更新2:
新命令是
npx react-native upgrade
但我相信这最适合从最新版本升级。如果您有旧版本,以下升级过程仍然适用。
更新:
我以前从未遇到过升级问题,但最近加入了一个项目,我们从 React Native 0.44.3 的旧副本升级到较新的版本(首先升级到 0.57.8,然后升级到 0.55.4,然后升级到 0.58。 3 在稳定性方面苦苦挣扎),并发现它并不总是像运行这些命令那么容易。请注意,这可能是一个漫长而乏味的过程,特别是如果您没有定期升级并且升级之间的间隔很长。在这种情况下,距离升级已经过去了 18 个月。
首先,升级过程本身(react-native升级,现在react-native-git-upgrade)本身发生了变化。因此,如果您使用的是一年或更长时间的版本,则可能会存在一些手动差异,您必须经历这些差异。有些是在运行react-native-git-upgrade命令后拼写出来的,有些则不是。我很惊讶 Stack Overflow 上有这么多人经历了看似无辜的升级的相同未记录的循环问题。我没想到会这样。我同意 Facebook 在 6 个月内不添加任何功能并在继续之前简化升级过程。
其次,确保您的 React Native 版本使用正确的依赖项。更新版本的升级工具(react-native-git-upgrade)尝试解决这个问题,但请仔细检查https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md查看您要升级到的 RN 版本是否需要特定依赖项。有些人这样做,而另一些人则不这样做。
接下来,哈迪斯图书馆是真实的,这取决于你的项目有多大。在我们的例子中,0.44.3 版本中使用的几个模块现已被弃用或不再维护,甚至与更高版本的 RN 的工作方式不同。在开始这个过程时我没有充分考虑这一点。这导致了几次代码重写只是为了升级!哎呀!
此外,正如某些版本的 React Native 需要特定版本的依赖项一样,其他模块也需要某些依赖项的特定版本。更糟糕的是,有时这些是各种库的不兼容且冲突的版本。节省一些时间并写一两个用户故事来解释这一点。检查您正在使用的每个模块,看看其 GitHub 页面上是否有任何兼容性声明。一些自述文件会告诉您将其模块的某些版本与 React Native 的某些版本一起使用。其他人不会,您稍后可能会发现有要求。但即使经历了这个过程并预见到了问题,您稍后也会感谢自己。
一旦您达到最新状态且稳定,请考虑定期升级,以最大程度地减少我刚刚经历的升级噩梦。