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

TypeScript+Expo项目使用React Navigation配置Stack时出现报错

解决方案

  • 补充Stack导航的路由类型声明
    React Navigation v6及以上版本在TypeScript环境下使用时,需要显式声明所有路由的参数类型,再传入createStackNavigator作为泛型参数,否则会触发类型不匹配报错。示例代码如下:
    // loginStack.tsx 中新增类型定义
    type RootStackParamList = {
      Home: undefined; // 对应页面无入参则设为undefined
      // 把你所有注册在screens下的页面路由依次添加,例如:
      Login: undefined;
      Profile: { userId: string }; // 有入参的页面在此声明参数结构
    };
    
    // 创建Stack实例时传入泛型
    const Stack = createStackNavigator<RootStackParamList>();
    
  • 校验依赖版本一致性
    执行以下命令检查导航相关依赖的版本是否匹配:
    npm list @react-navigation/native @react-navigation/stack
    
    若两个依赖的大版本不一致(比如一个是v5一个是v6),执行以下命令统一升级到最新稳定版:
    npm install @react-navigation/native@latest @react-navigation/stack@latest
    
  • 重启TypeScript服务
    若依赖和代码均无问题,可重启IDE的TypeScript服务重新加载类型:VSCode按下Ctrl+Shift+P,输入Restart TypeScript Server回车即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 20:24:04