React Native从68.1升级到70.6后react-native-svg报错求助
解决React Native升级后
child.isClassAccessorProperty is not a function报错问题 问题原因
该错误源于@babel/plugin-transform-typescript版本过低,不支持isClassAccessorProperty方法。react-native-svg 13.x版本的代码使用了类访问器属性语法,需要Babel插件具备对应支持能力,而你升级RN到70.6后,Babel相关依赖未同步更新,导致兼容性冲突。
解决方案
升级Babel核心及TypeScript插件版本
安装与RN 70.6兼容的Babel版本(推荐7.18.x系列):# npm npm install @babel/core@^7.18.0 @babel/plugin-transform-typescript@^7.18.0 --save-dev # yarn yarn add @babel/core@^7.18.0 @babel/plugin-transform-typescript@^7.18.0 --dev清除所有缓存
- 重置Metro打包器缓存:
npx react-native start --reset-cache - 清理Android构建缓存:
cd android && ./gradlew clean && cd ..
- 重置Metro打包器缓存:
检查Babel配置
确保babel.config.js中正确配置了TypeScript插件,示例如下:module.exports = { presets: ['module:metro-react-native-babel-preset'], plugins: ['@babel/plugin-transform-typescript'], };重新安装依赖
删除旧依赖文件后重新安装:rm -rf node_modules package-lock.json yarn.lock npm install
完成以上步骤后,重新执行react-native run-android或./gradlew assembleRelease即可解决报错。
内容的提问来源于stack exchange,提问作者Ankit Jayaprakash
相关产品推荐
相关产品推荐

