美文网首页
React native 版本升级

React native 版本升级

作者: KingTortoise | 来源:发表于2019-04-24 16:08 被阅读0次

升级到0.56.0

升级之后遇到的问题

1、 0.56.0版本放弃iOS8,所以如果在pod的时候遇到问题,查看当前项目支持的最低iOS系统,将最低支持系统改为iOS9再pod。
2、Xcode 编译报错:


image.png

该行代码在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

image.png

升级到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、写法的错误,需要将中括号之前的","删除


image.png

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

相关文章

网友评论

      本文标题:React native 版本升级

      本文链接:https://www.haomeiwen.com/subject/vxrwgqtx.html