You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

适配react@18.3.1与react-native@0.76.5的导航包兼容版本咨询

React Navigation依赖兼容问题解决方案

核心问题分析

你当前的导航依赖存在版本不匹配:@react-navigation/native-stack 使用了7.x版本,但 @react-navigation/native 和 @react-navigation/bottom-tabs 仍为6.x版本。React Navigation的所有子包必须与主包@react-navigation/native保持相同主版本号,否则会因API不兼容导致应用崩溃。

你的环境配置:

  • react: 18.3.1
  • react-native: 0.76.5(对应Expo 52)

兼容版本推荐

方案一:稳定的React Navigation 6.x全版本

将所有导航子包统一为6.x版本,适配性更成熟:

{
  "@react-navigation/native": "^6.1.18",
  "@react-navigation/native-stack": "^6.11.0",
  "@react-navigation/bottom-tabs": "^6.6.1",
  "@react-navigation/stack": "^6.3.17",
  "@react-navigation/drawer": "^6.6.6"
}

配套依赖保持现有版本即可:

  • react-native-gesture-handler: ~2.21.0
  • react-native-safe-area-context: ^4.12.0
  • react-native-screens: ~4.4.0

方案二:升级到React Navigation 7.x最新版本

统一升级所有导航包到7.x,使用最新特性:

{
  "@react-navigation/native": "^7.0.0",
  "@react-navigation/native-stack": "^7.2.0",
  "@react-navigation/bottom-tabs": "^7.0.0",
  "@react-navigation/stack": "^7.0.0",
  "@react-navigation/drawer": "^7.0.0"
}

Expo 52完全支持React Navigation 7.x,无需调整其他核心依赖。

修复步骤

  1. 删除项目根目录下的node_modules文件夹和package-lock.json(或yarn.lock)文件
  2. 修改package.json中的导航依赖版本为上述任一方案
  3. 执行安装命令:
    npm install
    # 或
    yarn install
    
  4. 清除Expo缓存并重启项目:
    npx expo start --clear
    

替代方案:使用Expo Router

如果不想手动处理依赖兼容,推荐使用Expo Router——Expo官方的路由方案,与Expo版本深度绑定,自动处理依赖兼容问题,支持页面路由、底部标签栏、栈导航等所有常用导航模式,配置更简洁。

内容的提问来源于stack exchange,提问作者user29069351

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 12:29:53