升级到0.56.0
升级之后遇到的问题
1、 0.56.0版本放弃iOS8,所以如果在pod的时候遇到问题,查看当前项目支持的最低iOS系统,将最低支持系统改为iOS9再pod。
2、Xcode 编译报错:
该行代码在0.59.0版本之后删掉了,但是在0.56.0-0.59.0版本区间内一直存在,但是因为该行代码的存在导致程序一直编译不过,所以我也暂时将其代码进行删除。
3、WebView will only load http(s) URLs by default
但是根据官方文档该问题在0.57版本之后又可以使用html;如果是使用html加载的话,一定要设置originWhitelist属性,否则是无法加载的。
具体可以查看官方的例子:
0.56.0
0.57.0
升级到0.57.0
0.57.0版本支持Babel 7,进而可以更加方便的引入TypeScript。
升级前修改点
1、react-native:0.57.0 react:16.5
2、将babel预设依赖项从"babel-preset-react-native": "^5",更改为"metro-react-native-babel-preset": "^0.45.0",,然后将.babelrc配置更改为
"presets": [["module:metro-react-native-babel-preset"]],
3、确保您的babel版本时^7.0.0(您可能还需要添加babel-core": "7.0.0-bridge.0"以确保兼容性)
升级后遇到的问题
1、 Image控件的resizeMode属性的变化,无法通过Image.resizeMode.contain调用contain属性。
//之前的写法
<Image style={{height: 30, width: 30, marginLeft: 15, borderRadius: 15}}
resizeMode={Image.resizeMode.contain} source={{uri: DataUtil.makeIntegralUrl(data.loginImageHD)}}/>
//现在的写法
<Image style={{height: 30, width: 30, marginLeft: 15, borderRadius: 15}}
resizeMode={'contain'} source={{uri: DataUtil.makeIntegralUrl(data.loginImageHD)}}/>
2、写法的错误,需要将中括号之前的","删除
3、三方库的升级
react-native-autoheight-webview
npm install react-native-autoheight-webview --save (rn >= 0.59, be capable of Hooks)
npm install react-native-autoheight-webview@1.0.1 --save (0.57 <= rn < 0.59)
因为新版本的react-native-autoheight-webview有引入react-native-web这个库,并且该库需要进行link。同时要关注react-native-autoheight-webview属性值的变化。
升级到0.58.0
升级后遇到的问题
1、三方库的升级
react-native-render-html升级该库以适配0.58版本。
升级0.59.0
0.59.0版本删除了之前一直报错的 setReactPreferredFocusedView 代码。
1、三方库的升级
react-native-svg升级该库以适配0.59版本。
2、YGValue.h cannot find
先卸载react-native,然后重新安装再pod