简单的执行 NPM install react-native@latest 会导致很多配置文件得不到更新. react-native-Git-upgrade 在 0.59 已被废弃, 现在推荐使用 rn-diff-purge, 并且从 0.59 开始支持基于 rn-diff-purge 的简单升级 cli:react-native upgrade. 不过当前项目版本是 0.58.4, 老老实实研究 rn-diff-purge.
升级 Recommended method
Check the diff
登录 rn-diff-purge 网站, 输入项目当前版本号: 0.58.4; 目标版本号: 0.59.2, 点击 "Diff here", 会生成一个类似于 Git log 的修改记录:
2. 手动修改差异
对照上面的修改记录, 手动修改工程文件. 0.58.4 升级至 0.59.2, 大概有 24 处修改, 工作量还好. 版本间差异越小, 升级工作量越少.
升级后的问题
1. make sure youre either running a metro server
升级成功后, 运行报错, 一直提示连接不到本地服务器. 明明已经执行过 react-native start, 成功开启服务器了, 却连不上. 谷歌一下:
新版本直接把 http 协议给禁了, 赶紧改回 27
2. ViewPager,Slider 从 React Native 核心库中移出, 影响了第三方组件
我的项目报错如下:
分析具体错误, ViewPagerAndroid 是 react-native-gesture-handler 引用的, Slider 是 react-native-scrollable-tab-view 引用的. react-native-gesture-handler 是 react-navigation 的依赖, 做项目不可能不用 react-navigation, 而该组件暂时看不到支持 react-native 新版本的计划.
想用最新的 React Native 只能等等了
来源: https://www.cnblogs.com/xiaofish/p/10606904.html