React Native报错:Unexpected identifier 'React' 导入调用需恰好一个参数
解决React Native报错:
Unexpected identifier 'React' import call expects exactly one argument 针对你删除Mac的Recent文件夹后出现的这个问题,结合你已经重装过node_modules的情况,以下是针对性的解决步骤:
彻底清除Metro缓存
Metro的缓存可能和系统Recent记录关联出现异常,运行命令强制重置缓存:npx react-native start --reset-cache也可以手动删除Metro的缓存目录:
rm -rf ~/Library/Caches/Metro清理iOS端相关缓存(如果是iOS运行报错)
- 删除Xcode的Derived Data:打开Xcode,进入
Preferences -> Locations,点击Derived Data右侧的箭头,找到当前项目对应的文件夹并删除 - 删除项目的iOS build文件夹:
rm -rf ios/build - 重新执行pod安装:
cd ios && pod deintegrate && pod install && cd ..
- 删除Xcode的Derived Data:打开Xcode,进入
清理Android端相关缓存(如果是Android运行报错)
执行gradle清理命令:cd android && ./gradlew clean && cd ..重启电脑
删除Recent文件夹可能触发了系统级的缓存异常,重启Mac可以重置部分系统状态,有时候能解决这类奇怪的关联问题检查Babel配置是否正常
确认项目根目录的babel.config.js配置正确,React Native 0.64.2的标准配置应为:module.exports = { presets: ['module:metro-react-native-babel-preset'], };避免自定义的Babel插件干扰React的导入解析
这个报错看起来是导入语句的解析异常,但你之前项目正常、编译无报错,说明不是代码语法问题,大概率是各类缓存和系统状态异常导致的,按上述步骤逐一排查应该能解决。
内容的提问来源于stack exchange,提问作者Даниил Лазарев
相关产品推荐
相关产品推荐

