React Router v6 - 如何在路由中使用@符号?

敏捷开发

我正在使用 react-router-dom 来管理我的路线:

<Routes>
    <Route path="/" element={<MainLayout />}>
        <Route index element={<Home />} />
        <Route path="@:profileId" element={<Profile />} />
    </Route>
<Routes>

我想在配置文件路由中使用 @ 前缀,但错误是no routes matched location "/@username"

如何解决?

德鲁里斯

似乎有一个针对此问题的错误提交,并且正在处理 1 或 2 个打开的拉取请求。幸运(或不幸)这些类型的路径在非布局路径中运行良好。

解决错误/问题之前的解决方法:

将 转换MainLayout为包装器组件并单独包装路由组件。基本上消耗一个children道具并渲染组件以前children的位置。Outlet

示例MainLayout布局组件:

const MainLayout = () => (
  <>
    <h1>MainLayout</h1>
    <Outlet />
  </>
);

变成

const MainLayout = ({ children }) => (
  <>
    <h1>MainLayout</h1>
    {children}
  </>
);

以及来自的路线

<Routes>
  <Route path="/" element={<MainLayout />}>
    <Route index element={<Home />} />
    <Route path="@:profileId" element={<Profile />} />
  </Route>
</Routes>

<Router>
  <Routes>
    <Route
      path="/"
      element={
        <MainLayout>
          <Home />
        </MainLayout>
      }
    />
    <Route
      path="/@:profileId"
      element={
        <MainLayout>
          <Profile />
        </MainLayout>
      }
    />
  </Routes>
</Router>

编辑 react-router-v6-how-to-use-symbol-in-route

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用React Router V6实施受保护的路由

在 react-router v6 的 mapStateToProps 中使用 urlParams

如何在 React Router v6 中重定向?

React Router Dom V6 嵌套路由属性

React/Typescript 条件路由 - 从 React Router Dom v5 更新到 v6

React Router v6 onclick

React Router V6 activeStyle 问题

在 react router v6 中使用導航功能時如何傳遞數據

如何導航到 React Router Dom V6 中的嵌套路由

在 React js react-router-dom V6 中實現嵌套路由

如何在 React Router v6 中的嵌套父路由上設置索引路由

在 react-router-dom (v6) 中使用 Navlink 傳遞道具

使用 react.js 和 react router v6 根据当前 URL 执行条件

如何在 react-router v6 中的树结构中创建深层路径

如何在课堂上从 react-router-dom v6 获取参数值

如何在 react-router-dom v6 的活动 NavLink 中显示不同的图标?

如何使用React Router v6将参数传递给链接?

如何启用 ListItemButton 以使用 React Router v6 Link?

React router v6 在路由上遇到空白页

嵌套路由 react-router-dom v6 不起作用

React router v6 嵌套路由不顯示子元素

在 React Router v6 中嵌套路由時將道具傳遞給 <Outlet />?

react-router-dom V6 中的嵌套路由

嵌套路由在 React Router v6 中不起作用

React Router v6 嵌套路由不起作用

在React Router v6中,如何在离开页面/路由之前检查表单是否脏

如何在react-router-dom v6中返回上一条路由

React router v6:如何获取组件中的相对索引路径?

我如何将其升级到 react-router-dom v6