由于android端的嵌套滑动nestedScrollEnabled属性,在0.56版本才支持,所以不得不进行rn升级。
ReactNative0.56.0版本更新的内容日志:
官方日志
中文网日志
按照官网日志提示进行更改:
babel-preset-react-native >= 5.0.2
如果项目中有使用mobx、react-mobx,还需要:
yarn remove babel-plugin-transform-decorators-legacy (babel@6以下使用)
yarn add @babel/plugin-proposal-decorators --dev (babel@7使用)
配置.babelrc:
{
"presets": ["react-native"],
"plugins":[["@babel/plugin-proposal-decorators", { "legacy": true }]]
}
但会发现在mac上ios、android都没问题,在windows上android:
参考https://github.com/facebook/react-native/issues/19953
得知, 这是react-naive 0.56版本对于windows 开发环境存在的一个bug。
所以不得不降级版本,或升级更高版本,由于我这里需要解决嵌套滑动,所以不得不去升级0.57版本。
同样,根据日志获取基本的修改内容:
- react版本升级为 16.5
- "babel-preset-react-native": "^5" 去掉,替换为"metro-react-native-babel-preset": "^0.45.0"
- .babelrc 配置:
{
"presets": ["module:metro-react-native-babel-preset"]
} -
android gradle 版本为4.4
-
在android/build.gradle文件中,buildscript 和 allprojects 配置项里,将google() 添加在 jcenter()的上方。 同时build:gradle版本要求为3.1.4