React Native 每一次小升级的变动,还是比较容易的,对比一下官方提供的升级助手,就能完成对应的升级,但是如果说你从0.60升级到0.70,中间有很多版本的跨度,这就比较头疼了,这次主要讲的是0.67升级到0.73.4。
一般来说,你照着工具来操作,基本是会多少出现点问题或者是无法兼容的,毕竟每个人搭建的框架以及集成的包是不一样的。
注意:

升级步骤,主要分为升级React Native,Android,IOS,升级三方包,兼容
注意,改完React native代码后,需要把node_modules删掉,重新yarn一下。
注意,如果出现以下报错,就
yarn.lock文件,将所有的“nlark”替换为:“npmmirror”

npm install 18brew install rubyrvm install ruby-3.2.2 --reconfigure --enable-yjit --with-openssl-dir=$(brew --prefix openssl@3)pod updateyarn upgrade-interactive --latest
主要升级react,react native,react-use...这些,直接按照工具里直接升级就好了,没有问题。

注意
如果你项目有react-native-apk-installer-n、rn-fetch-blob,那么你需要把这些包移除掉的,这个包已经不兼容了,可以考虑更换成react-native-blob-util或者其他的。

这边主要是为了解决yarn dev启动后,出现无法识别svg、png、jpg等图片。
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const defaultConfig = getDefaultConfig(__dirname);
const {
resolver: { sourceExts, assetExts },
} = getDefaultConfig(__dirname);
const config = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
resolver: {
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [...sourceExts, 'svg'],
},
};
module.exports = mergeConfig(defaultConfig, config);

下面框出来的地方,是可以直接忽略不用理睬的,不需要做改变。




android这边太久了,我也忘了遇到什么错了.......






















