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

React项目报Parsing error: Identifier 'Router' has already been declared如何解决

问题原因

你在同一个作用域下重复声明了Router标识符:

  • 从react-router-dom依赖中导入了名为Router的内置组件
  • 自定义的路由组件类也命名为Router
解决方案

方案1(推荐)

你当前代码中实际只用到了BrowserRouter,完全没有使用导入的Router组件,直接修改导入语句删除冗余的Router即可:

// 修改前
import { BrowserRouter, Router, Switch } from 'react-router-dom';
// 修改后
import { BrowserRouter, Switch, Route } from 'react-router-dom';

注意:你还遗漏了Route组件的导入,上面的代码也同步补上了,否则后续运行还会报Route未定义的错误。

方案2

如果后续业务确实需要用到react-router-dom的内置Router组件,就把你自定义的组件重命名避免冲突,比如改名为AppRouter:

// 类声明修改
class AppRouter extends React.Component {
  // 原有逻辑不变
}
// 导出修改
export default AppRouter;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:12:00