我尝试通过以下方式升级我的react-native版本(升级后的反应模块和react-native)
https://facebook.github.io/react-native/docs/upgrading.html
运行react-native upgrade
后,我添加了AndroidManifest.xml,MainActivity.java,MainApplication.java,String.xml
我已经成功构建并运行了应用程序。但是当资产加载并且应用程序在我的设备上启动时,我会收到错误。
未知的命名模块:'react / lib / createReactNativeComponentClass'
我在Chrome浏览器上看到了这个
模块AppRegistry不是注册的可调用模块(调用runApplication)
我试图搜索这个问题,但我找不到任何可以帮助我的东西。我唯一没有尝试的是从干净的安装开始,看看是否有助于我(但我想尽可能避免这种情况)。
还有我的package.json
{
"name": "MyProject",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "^15.4.1",
"react-native": "^0.39.2",
"react-native-action-bar": "^1.0.8",
"react-native-background-timer": "^0.1.3",
"react-native-drawer": "^2.3.0",
"react-native-fcm": "^2.3.2",
"react-native-gifted-spinner": "^0.1.0",
"react-native-infinite-scroll-view": "^0.4.2",
"react-native-linear-gradient": "^1.5.15",
"react-native-maps": "^0.12.2",
"react-native-pathjs-charts": "0.0.21",
"react-native-radio-buttons": "^0.13.0",
"react-native-scrollable-mixin": "^1.0.1",
"react-native-scrollable-tab-view": "^0.7.0",
"react-native-swipe-list-view": "^0.3.1",
"react-native-swiper": "^1.5.3",
"react-native-vector-icons": "^3.0.0"
},
"jest": {
"preset": "jest-react-native"
},
"devDependencies": {
"babel-jest": "17.0.0",
"babel-preset-react-native": "1.9.0",
"jest": "17.0.0",
"jest-react-native": "17.0.0",
"react-test-renderer": "15.3.2"
}
}
在版本0.37中,一切正常。但我需要一个更新,因为我看到我发现有用的更改日志中的一些修复。所以我试着更新但没有成功。
答案 0 :(得分:0)
Vkrm通过此链接为我提供了一个很好的方向
stackoverflow.com/a/40737409/3666700
15.3和15.4之间的一个变化是react / lib下的许多模块被移动到react-dom / lib,
考虑到这一点,我试图降级反应到15.3并且它起作用了。但是第三方组件出现了一些错误,而本机0.39最好用15.4(但是15.3可能会得到警告)。
我去搜索更多并找到了这个帖子 stackoverflow.com/a/41352829/1393695
删除node_modules文件夹并再次运行“npm install”(如果您希望此步骤更快,则使用yarn)。确保package.json指定了您期望的最新版本的React Native。
之后我再次备份我的项目并清空node_modules
文件夹并运行npm install
,之后它与15.4一起运行良好。但是第三方组件出错(我改变了)。
因此它可以双向工作,但可能会导致第三方组件出现错误。