本次升级RN:从0.57.5升级到0.62.2,跨度蛮大的,遇到的问题也特别多;
因package.json中同时引用了react-native-swiper和react-native-scrollable-tab-view;两者底层代码中都引用了viewpager包;
且两者版本都比较低,不再兼容androidx,并且在使用时提示报红如下信息:
React Native:Tried to register two views with the same name RNCViewPager
很明显的错误信息,提示viewpager注册两次;
解决方案如下:1、引入@react-native-community/viewpager,并进行link;2、配置settings.gradle:
include ':@react-native-community_viewpager'
project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android')
3、build.gradle引入:
implementation project(path: ':@react-native-community_viewpager')
4、application中引入:
new RNCViewPagerPackage()
5、package.json中引入:版本与上图的viewpager保持一致;
6、删除node_modules;使用rm -rf node_modules;并删除package.json文件;
引入resolutions时需要进行yarn install;npm 不可行
到这里基本就结束了,然后npm start运行看下效果