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

React Router v5路由代码迁移至v6版本(使用Routes与element标签)

React Router v5 升级 v6 改造方案(App.js 适配)

核心调整点

  • 移除v5版本的<Switch>组件,替换为v6要求的<Routes>作为路由容器
  • 删除Route上的exact属性:v6默认采用精确路径匹配规则,不需要额外声明精确匹配
  • 废弃Route标签内嵌套渲染组件的写法,所有待渲染的路由节点统一通过element属性传入
  • 同一路由需要渲染多个并列组件时,用React Fragment(空标签<></>)包裹后传入element即可,符合标准JSX单根节点要求

适配v6后的完整App.js代码

// 从react-router-dom导入v6版本的路由核心组件
import { Routes, Route } from 'react-router-dom';
// 以下组件导入路径请替换为你项目的实际路径
import Header from './components/Header';
import Home from './pages/Home';
import Login from './pages/Login';
import Register from './pages/Register';

function App() {
  return (
    <div>
      <h2>JWT Authentication using JSON fake server</h2>
      <Routes>
        <Route 
          path="/" 
          element={
            <>
              <Header />
              <Home />
            </>
          } 
        />
        <Route path="/login" element={<Login />} />
        <Route path="/register" element={<Register />} />
      </Routes>
    </div>
  );
}

export default App;

注意:使用前请先确认依赖版本,执行安装命令npm i react-router-dom@6 或者 yarn add react-router-dom@6 将react-router-dom升级到v6稳定版本再运行代码。

内容的提问来源于stack exchange,提问作者React-Dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:12:17