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

TypeScript报错react-router-dom Route组件不存在exact属性问题问询

问题根因

  • 依赖版本不匹配:你安装的react-router-dom是v6版本,但对应的类型声明包@types/react-router-dom是v5版本,二者API定义不一致引发类型校验报错
  • react-router-dom v6本身已彻底移除exact属性,所有路由默认就是精确匹配,v5版本的exact属性在v6的Route组件参数中完全不存在,也是触发报错的核心原因

解决方案

方案1:适配react-router-dom v6(推荐)

v6版本本身就是TypeScript编写的,内置类型支持,不需要单独安装第三方类型声明包,调整步骤如下:

  1. 卸载冲突的v5版本类型包
npm uninstall @types/react-router-dom
  1. 调整路由写法,v6要求所有Route组件必须包裹在Routes组件内,同时用element属性指定要渲染的组件,不需要额外加exact声明:
import {BrowserRouter as Router, Routes, Route} from "react-router-dom";
// 示例引入你自己的页面组件
import Home from "./Home";
import About from "./About";

const App = () => {
    return (
        <div>
            <Router>
                <Routes>
                    <Route path="/" element={<Home />}/>
                    <Route path="/about" element={<About />}/>
                </Routes>
            </Router>
        </div>
    )
}

export default App;

方案2:回退到react-router-dom v5版本

如果你更习惯v5的API写法,直接将react-router-dom版本降到和类型包匹配的v5版本即可,原有代码不需要修改就能正常运行:

npm install react-router-dom@5.3.0

内容的提问来源于stack exchange,提问作者Veselin Kontić

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:54:02