RN 升级react-native 版本
RN 升级版本 特别繁琐,可能会丢失某一个库的版本调整
建议使用React Native官方推荐的升级助手:https://react-native-community.github.io/upgrade-helper/?
填写好 应用名称 ,包名,现在的RN 版本,所要升级的目标版本,
点击下边的按钮,就会帮你生成 你所想要 调整的代码部分。
使用以下命令会帮你列出,package.json 总需要升级的库的版本。
npx @rnx-kit/align-deps --requirements react-native@0.80.0
npx @rnx-kit/align-deps --requirements react-native@0.80.0Need to install the following packages:@rnx-kit/align-deps@3.2.2 Ok to proceed? (y) y
error package.json: Found 18 violation(s) outside of capabilities.
├── dependencies["@react-native-clipboard/clipboard"]: found "^1.15.0", expected "^1.16.0"
├── dependencies["@react-native-community/hooks"]: found "^3.0.0", expected "^100.1.0"
├── dependencies["@react-navigation/native"]: found "^7.0.14", expected "^7.1.14"
├── dependencies["@react-navigation/stack"]: found "^7.0.12", expected "^7.4.2"
├── dependencies["react"]: found "18.3.1", expected "19.1.0"
├── dependencies["react-native"]: found "0.76.3", expected "^0.80.0"
├── dependencies["react-native-fs"]: found "^2.20.0", expected "^2.18.0"
├── dependencies["react-native-gesture-handler"]: found "^2.21.2", expected "^2.26.0"
├── dependencies["react-native-safe-area-context"]: found "^4.14.0", expected "^5.4.0"
├── dependencies["react-native-screens"]: found "^4.4.0", expected "^4.11.1"
├── dependencies["react-native-webview"]: found "^13.12.5", expected "^13.14.1"
├── devDependencies["@react-native-community/cli"]: found "15.0.1", expected "^19.0.0"
├── devDependencies["@react-native-community/cli-platform-android"]: found "15.0.1", expected "^19.0.0"
├── devDependencies["@react-native-community/cli-platform-ios"]: found "15.0.1", expected "^19.0.0"
├── devDependencies["@react-native/babel-preset"]: found "0.76.3", expected "^0.80.0"
├── devDependencies["@react-native/metro-config"]: found "0.76.3", expected "^0.80.0"
├── devDependencies["jest"]: found "^29.6.3", expected "^29.2.1"
├── devDependencies["react-test-renderer"]: found "18.3.1", expected "19.1.0"
└── Re-run with '--write' to fix them info Visit https://aka.ms/align-deps for more information about align-deps.
会列出 dependencies部分和 devDependencies部分 需要升级的版本号。
也可使用 命令自动修复:
npx @rnx-kit/align-deps --requirements react-native@0.80.0 --write
会自动帮你升级版本。
当然 除了这部分 还是有代码需要调整:
如果执行了以上命令,可忽略这部分的调整,
按照如图调整,
其中readme 部分可忽略。
重点来了:MainApplication 中的调整,移除不必要的引用,
在 onCreate 将原先的load方法替换:
loadReactNative(this) |
android/build.gradle中的调整
替换版本号:
android/gradle/wrapper/gradle-wrapper.properties 调整gradle 版本。建议保持一致,使用8.14.3-bin
至于IOS 不太熟悉,很抱歉,可按照文档将重要文件进行替换,
Android 的,可以打开studio 先编译通过后 再进行运行打包。
建议重新依赖
yarn cache clean //清除缓存
yarn install //重新依赖
希望对大家有所帮助。