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

从react-router-dom导入Switch提示无对应导出项报错是什么原因?

报错产生原因
  • 该报错由react-router-dom版本不兼容导致:v6及以上版本的react-router-dom做了破坏性API更新,移除了原v5版本提供的Switch组件,官方不再对外导出该组件标识符,因此导入时触发对应错误。
  • 配套的Route组件用法在v6版本中也有调整,你当前代码中的Route写法也无法在v6版本下正常运行。
修复方案

方案1:适配v6版本(推荐)

  1. 修改导入语句,将Switch替换为v6新增的Routes组件:
import { BrowserRouter as Router, Route, Link, Routes } from "react-router-dom";
  1. 调整JSX结构,替换<Switch>标签为<Routes>,同时将路由组件放到Route的element属性中:
function App() {
  return (
    <div className="App">
      <Router>
        <Routes>
          <Route path="/" element={<Home/>} />
          <Route path="/login" element={<Login/>} />
          <Route path="/register" element={<Register/>} />
        </Routes>
      </Router>
    </div>
  );
}

方案2:回退到v5版本

如果不想调整现有代码,可直接安装v5版本的react-router-dom,执行如下命令即可:

npm i react-router-dom@5.3.4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:45:03