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

React路由全部提示“No routes matched location”问题求助

问题原因及解决方案

你的问题出在路由嵌套的匹配规则上:

index.js中,外层的<Route path="/" element={<App />} />仅会精确匹配根路径/。当你访问/home、/login这类子路径时,外层Routes找不到对应的路由规则,直接触发App内的通配符路由<Route path='*' element={<Home />} />,导致所有非根路径都跳转到Home页面。

解决方法(二选一即可)

方法1:修改外层路由的匹配规则

将index.js中的外层路由路径改为/*,允许匹配所有以/开头的子路径:

<BrowserRouter >
  <Routes>
    <Route path="/*" element={<App />} />
  </Routes>
</BrowserRouter >

这样外层路由会承接所有路径请求,App内的路由规则就能正常匹配对应的路径了。

方法2:将App内的路由改为相对路径

去掉App.tsx中所有路由路径开头的/,让路径相对于父路由的/:

<Routes >       
  <Route path='home' element={<Home />} />    
  <Route path='login' element={<Login />} />
  <Route path='register' element={<Register />} />    
  <Route path='terms-of-service' element={<TermsOfService />} />
  <Route path='privacy-policy' element={<PrivacyPolicy />} />    
  <Route path='*' element={<Home />} />
</Routes >

此时访问/home时,会匹配到App内的home路径规则,正确渲染对应组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:40:08