reactjs - React router dom "no routes mached location"错误/在路由器内制作组件

标签 reactjs react-router-dom

我正在制作具有管理和用户页面的网站。

一开始我将两者合并为一个 <Routes>

<BrowserRouter>
  <Routes>
   // user related pages...
   <Route path="/" element={<>}/>
   <Route path="/signin" element={<>}/>
   .
   .
   .
  // admin related pages 
  <Route path="/admin" element={<>}/>
  <Route path="/admin/signin" element={<>}/>
  .
  .
  .
 </Routes>
</BrowserRouter>

因为我的 Router.js 中的代码越来越长, 我决定用它们制作组件 => 所以 User.js 和 Admin.js

像这样:

<BrowerRouter>
  <User/>
  <Admin/>
</BrowserRouter>

在我的 User.js 中:

<Routes>
  <Route path="/" element={<>}/>
  <Route path="/signin" element={<>}/>
</Routes>

在我的 Admin.js 中:

<Routes>
  <Route path="/admin" element={<>}/>
  <Route path="/admin/signin" element={<>}/>
</Routes>

问题:路由器功能正常... 但我在控制台中收到警告: 例如)没有路线与位置匹配...(对于我设置的每条路线)

我用谷歌搜索了为什么会发生这种情况,有人建议使用“/”索引,但这没有帮助......

谁知道为什么会出现此警告?

最佳答案

问题似乎是 Admin 组件没有渲染 "/" 的路由,因为它被渲染为根路由级别。我建议在自己的路由上渲染 UserAdmin ,以便它们渲染的后代路由具有正确的路径,并且保持整体路径结构。请注意,根路由附加一个尾随的 "*" 通配符匹配器,以允许后代路由路径也被匹配。

示例:

<Routes>
  <Route path="/*" element={<User />} />
  <Route path="/admin/*" element={<Admin />} />
</Routes>

用户

const User = () => (
  <Routes>
    <Route path="/" element={....} />
    <Route path="signin" element={....} />
  </Routes>
);

管理员

const Admin = () => (
  <Routes>
    <Route path="/" element={....} />
    <Route path="/signin" element={....} />
  </Routes>
);

Edit react-router-dom-no-routes-mached-location-error

关于reactjs - React router dom "no routes mached location"错误/在路由器内制作组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74037229/

相关文章:

javascript - 使用了 _paq.push() 但在加载 matomo.js 文件之前没有初始化 Matomo 跟踪器

node.js - 使用 Multer 将带有 fetch 的图像上传到 Express

reactjs - ASP.NET Core React 模板与 TypeScript 配合不佳

reactjs - 如何通过 react-redux ,withRouter 在 react 中使用 refs?

javascript - Heroku 构建 MERN 堆栈 Web 应用程序失败

javascript - 我怎样才能知道我在react-navigation 5中当前的路线?

reactjs - 在搜索栏中搜索后导航到搜索页面并在搜索页面中重复使用搜索栏

javascript - 在 React Router v6.+ 中渲染多个元素

javascript - 将react-router链接包装在html按钮中作为提交选项

javascript - 如何使用 "div"中的 "Link"使 "react-router-dom"标签可点击?