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

React路由报错:No routes matched location "/" 问题咨询

解决React路由“No routes matched location "/"”报错

你的问题核心是根路径/没有对应的路由规则,同时代码里还存在React Router v6的API使用错误(已废弃component属性),以下是几种针对性的解决方式:

方式1:根路径重定向到/Rentals

如果访问首页时需要跳转到Rentals页面,使用<Navigate>组件实现重定向:

import { Routes, Route, Navigate } from 'react-router-dom';

function App() {
  return (
    <div className="App">
      <main className="container">
        <Routes>
          {/* React Router v6 使用element传递组件JSX,不再用component */}
          <Route path="/Rentals" element={<Rentals />} />
          {/* 根路径重定向到Rentals页面 */}
          <Route path="/" element={<Navigate to="/Rentals" replace />} />
        </Routes>
      </main>
    </div>
  );
}

方式2:根路径直接渲染Rentals组件

如果你的首页就是Rentals页面,直接修改路由的path为/即可:

import { Routes, Route } from 'react-router-dom';

function App() {
  return (
    <div className="App">
      <main className="container">
        <Routes>
          <Route path="/" element={<Rentals />} />
        </Routes>
      </main>
    </div>
  );
}

方式3:添加404兜底路由

为了避免其他未定义路径也出现类似报错,可以添加一个匹配所有路径的兜底路由:

import { Routes, Route, Navigate } from 'react-router-dom';

// 自定义404组件
function NotFound() {
  return <h2>页面不存在,请检查路径</h2>;
}

function App() {
  return (
    <div className="App">
      <main className="container">
        <Routes>
          <Route path="/Rentals" element={<Rentals />} />
          <Route path="/" element={<Navigate to="/Rentals" replace />} />
          {/* 匹配所有未定义的路径 */}
          <Route path="*" element={<NotFound />} />
        </Routes>
      </main>
    </div>
  );
}

关键注意点

React Router v6版本已经完全废弃了component属性,必须使用element来传递要渲染的组件JSX,这也是你代码里需要同步修正的地方,否则即使路径匹配正确,组件也无法正常渲染。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:15:27