如何修复React Native(Expo Go iOS)中的Typeerror: (0 , _native.createnavigatorfactory) is not a function
1. 统一react-navigation相关依赖版本
这个错误大概率是导航库版本不兼容导致的,比如主库和子库版本不匹配,或混合了不同大版本的react-navigation。
- 先卸载所有已安装的导航相关依赖:
npm uninstall @react-navigation/native @react-navigation/stack @react-navigation/bottom-tabs react-native-screens react-native-safe-area-context - 重新安装稳定兼容的6.x系列版本(适配Expo环境):
npm install @react-navigation/native@6.x @react-navigation/stack@6.x @react-navigation/bottom-tabs@6.x react-native-screens react-native-safe-area-context
2. 清除Expo缓存
缓存残留可能导致依赖加载异常,执行命令强制清除缓存后重启项目:
npx expo start --clear
3. 检查package.json依赖一致性
打开项目根目录的package.json,确认所有@react-navigation/开头的包版本均为6.x系列,禁止同时存在5.x和6.x版本。
4. 重启Expo Go应用
完全关闭iOS上的Expo Go,重新打开后扫描项目二维码,确保加载最新的打包资源。
如果以上步骤无效,可删除项目根目录的package-lock.json文件,再重新执行npm install,重复步骤2启动项目。
内容的提问来源于stack exchange,提问作者Shiven Khurana
相关产品推荐
相关产品推荐

