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

react-router-dom路由创建报错:component未定义,请求协助解决

问题解决:react-router-dom 提示“component is not define”

你的错误根源在于react-router-dom v6的Route组件语法使用错误,结合你的代码,修正方案如下:

错误点分析

  1. Route的element属性写法错误:v6版本中,Route不再支持component属性,而是用element接收JSX元素,你写成element={component={Home}}完全不符合语法,这也是导致“component is not define”的直接原因。
  2. Router组件使用不当:你导入的Router是底层抽象组件,web项目中应该使用BrowserRouter来适配浏览器环境。
  3. exact属性冗余:v6的Routes组件会自动进行精确路径匹配,不需要手动添加exact。

修正后的完整代码

导入部分

import Home from './components/Home';
import { Routes, Route, BrowserRouter as Router} from "react-router-dom";
import Products from './components/Products';

路由渲染部分

<Router>
  <Routes>
    <Route path="/" element={<Home />} />
    <Route path="/products" element={<Products />} />
  </Routes>
</Router>

关键修正说明

  • 将element={component={Home}}改为element={<Home />}:直接传入组件的JSX实例,这是v6规定的写法。
  • 替换Router为BrowserRouter as Router:确保路由能正常适配浏览器的历史记录API。
  • 移除所有exact属性:v6的路由匹配逻辑已经默认处理精确匹配,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 16:40:31