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

React Router Dom路由失效求助:输入URL页面内容不显示

React Router Dom路由无法显示页面的解决方案

你的问题出在React Router v6+版本的语法变更上,当前代码用的是旧版本写法,在新版本里已经不生效,按下面步骤修改就能解决:

关键修改点

  • 必须用Routes组件包裹所有Route,它会自动做精确匹配,避免多个路由同时渲染
  • Route不再通过子组件传递页面,而是改用element属性传入组件

修改后的完整代码

import Index from "./pages/Index";
import Login from "./pages/Login";
import Product from "./pages/Product";
import Register from "./pages/Register";
// 新增导入Routes组件
import { BrowserRouter, Route, Routes } from 'react-router-dom';

function App() {
  return (
    <div>
      <BrowserRouter>
        {/* 用Routes包裹所有Route */}
        <Routes>
          {/* 用element属性传入页面组件 */}
          <Route path="/" element={<Index />} />
          <Route path="/login" element={<Login />} />
          <Route path="/product" element={<Product />} />
          <Route path="/register" element={<Register />} />
        </Routes>
      </BrowserRouter>
    </div> 
  );
}

export default App;

额外说明

如果你的项目装的是React Router v5及更早版本,也可以给根路由加exact属性解决多路由同时渲染的问题,但更推荐升级到v6+并使用上面的新写法——v6是官方主推版本,API更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 07:40:30