我有一个使用REACTION-ROUTER-DOM的项目,但我无法实现拥有一条带有横向菜单的路由.

我需要我的横向菜单在每/users/:id条路由上可用,这样我就可以在关于当前用户的不同信息之间导航.

这就是我要说的:

            <Route path=":id" element={<UserLayout />}>
              <Route
                index
                element={
                  isLoading ? (
                    ""
                  ) : hasPermissionToRoute("/users/:id/") ? (
                    <User />
                  ) : (
                    <AccessForbidden />
                  )
                }
              />
              <Route
                path="contracts"
                element={
                  isLoading ? (
                    ""
                  ) : hasPermissionToRoute("/users/:id/contracts") ? (
                    "contracts"
                  ) : (
                    <AccessForbidden />
                  )
                }
              />
            </Route>

<UserLayout />表示:

export function UserLayout({ children }) {
  return (
    <div className="flex gap-5">
      <div>menu</div>
      <div>{children}</div>
    </div>
  );
}

当我转到/users/id/时,我只显示菜单,/users/id/contracts也是如此.问题不是出于子路由的条件,因为当我删除element={<UserLayout />}时,它工作正常(但没有横向菜单).

如有任何帮助,将不胜感激!

推荐答案

UserLayout组件上添加Outlet组件.Outlet组件使用其各自的组件(此处为User)呈现匹配的子路由

import { Outlet } from 'react-router-dom';

export function UserLayout({ children }) {
  return (
    <div className="flex gap-5">
      <div>menu</div>
      <Outlet/>
    </div>
  );
}

Reactjs相关问答推荐

客户端组件中服务器组件的两难境地

Reaction路由的问题-在Effect使用API调用响应设置状态之前呈现页面

For循环中的元素在Reaction中丢失挂钩

如何在关闭和打开此 Select 输入时应用旋转效果?

将动态元素中的输入数据传输到Reaction

有没有办法在Shopify中显示自定义计算的交货日期?

试图从Amazon-Cogito-Identity-js模拟CogitoUser.authateUser,并将其获取为未定义的S

REACTION-Easy-SORT返回.map错误

ReactJS:唯一项目的数量总和

React,当我调用handleSubmit()函数时,我正在将application/json和multiform/data中的数据发送到后端,但student_image中没有数据:null

错误:无法获取 RSC 负载.返回浏览器导航

在 Next13 中将 props 传递给 onClick 从服务器到客户端组件

React - 如何重定向页面以显示数据修改?

有没有办法在用户离开页面时防止输入模糊?

Next.js i18n 路由不适用于动态路由

在 React 的父级中多次调用子级时从子级获取数据到父级

如何使用 React Hook Form 将寄存器作为 props 发送到子组件来收集数据?

导航到屏幕时,react 本机上下文状态变为未定义

如何在props 更改时运行自定义挂钩?

渲染的钩子比预期的少.这可能是由 React Hooks 中意外的提前返回语句引起的