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

React Router从V3升级至V6时出现Cannot find 'LeftSegment'与Cannot find 'infer'错误的技术求助

解决React Router v6升级时的TypeScript类型错误

你遇到的问题核心是版本不匹配:已经装上了React Router v6的核心库,但还在沿用v5版本的类型定义包,再加上你的TypeScript版本(v3.8)不足以支持React Router v6类型定义里的语法特性,才会出现这两个错误。

下面是具体的解决步骤:

  1. 卸载旧的v5类型定义包
    React Router v6本身已经内置了完整的TypeScript类型定义,不需要再安装第三方的@types/react-router和@types/react-router-dom包。执行命令移除它们:

    npm uninstall @types/react-router @types/react-router-dom
    # 用yarn的话执行这个
    yarn remove @types/react-router @types/react-router-dom
    
  2. 升级TypeScript版本
    React Router v6的类型定义用到了TypeScript 4.1及以上版本才支持的语法特性(比如进阶的泛型推导、infer的扩展用法等),v3.8版本太老旧了。建议直接升级到最新稳定版:

    npm install typescript@latest --save-dev
    # yarn用户执行这个
    yarn add typescript@latest --dev
    
  3. 统一React Router库版本(可选但推荐)
    你当前的react-router是v6.2,react-router-dom是v6.2.1,虽然小版本差异不大,但为了避免潜在的兼容性问题,最好统一两者的版本:

    npm install react-router@6.2.1 react-router-dom@6.2.1 --save
    # yarn用户执行这个
    yarn add react-router@6.2.1 react-router-dom@6.2.1
    

完成这些步骤后,建议清理项目依赖缓存(删除node_modules和package-lock.json/yarn.lock),重新安装依赖,再编译项目,这两个类型错误应该就能解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 12:38:12