Expo运行React Native项目出现react-navigation版本过低警告如何解决
问题根因
你的package.json中同时存在两套React Navigation依赖:
- 新版v6依赖:
@react-navigation/bottom-tabs、@react-navigation/stack、@react-navigation/drawer(版本符合要求) - 旧版v3/v4依赖:
react-navigation、react-navigation-drawer、react-navigation-stack(这几个旧版本低于5.10.0,是触发警告的源头)
解决步骤
步骤1:卸载旧版本React Navigation相关依赖
运行以下命令删除无用的旧包:
npm uninstall react-navigation react-navigation-drawer react-navigation-stack # 如果你用yarn的话执行: yarn remove react-navigation react-navigation-drawer react-navigation-stack
步骤2:清理缓存避免残留
Expo项目经常会因为缓存导致旧依赖残留,执行以下命令清理所有缓存:
expo start -c
运行后会自动清空npm缓存、Expo打包缓存,重启项目即可。
可选排查:如果还有警告
如果清理后还是触发警告,检查项目代码中是否还有引用旧版react-navigation的导入语句,比如:
// 旧版导入,要全部替换成新版@react-navigation的对应导入 import { createStackNavigator } from 'react-navigation-stack'
把所有旧版导入替换为新版React Navigation v6的对应语法即可。
内容的提问来源于stack exchange,提问作者Cihan
相关产品推荐
相关产品推荐

