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

使用react-router-dom Router功能出错,求助CRUD应用路由问题

React CRUD应用路由问题修复

你的App.js代码使用了React Router v5的路由写法,但当前项目依赖的是React Router v6版本,v6对Route组件的用法做了变更,导致控制台报错。

错误原因

React Router v6不再支持将组件作为Route的子元素嵌套,必须通过element属性指定要渲染的组件。

修改后的代码

import './App.css';

import AddUser from "./components/AddUser";
import Navbar from "./components/navbar";
import CrudApp from "./components/CrudApp";
import AllUsers from "./components/AllUsers";
import { Routes, Route } from "react-router-dom";
import { BrowserRouter as Router } from "react-router-dom";


function App() {
  return (
    <div>
      <Router>
        <Navbar />
        <Routes>
          <Route path='/add' element={<AddUser />} />
          <Route path='/all' element={<AllUsers />} />
          <Route path='/' element={<CrudApp />} />
        </Routes>
      </Router>
    </div>
  );
}

export default App;

关键修改点

  • 把每个Route标签内的组件,改为element={<组件名 />}的形式传递
  • 保留Router和Routes的外层包裹,这部分在v6中的用法是正确的

修改后即可解决路由匹配失败的问题,正常渲染对应页面组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:50:30