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

如何使用useRoutes与React Router Dom配置相对路由?

实现嵌套路由需求的useRoutes配置方案

完全可以通过useRoutes实现你要的嵌套路由需求,不需要单独设置路径,你的示例代码只需做少量调整就能满足要求:

问题核心

你需要的是**父路由容器(Main)+ 子路由(Info)**的嵌套结构:

  • /main 仅渲染 <Main />
  • /main/acc/update 渲染 <Main /> + <Info />

修正后的配置代码

useRoutes([
  {
    path: '/',
    element: <Base />,
    children: [
      {
        path: '/',
        element: <SomeElement />,
      },
      {
        path: 'main',
        element: (
          <>
            <Main />
            <Outlet />
          </>
        ),
        children: [
          // 匹配 /main 路径,仅显示Main
          {
            path: '',
            element: null,
          },
          // 匹配 /main/acc/update 路径,显示Main + Info
          {
            path: 'acc/update',
            element: <Info />,
          },
        ],
      },
    ],
  },
])

关键调整说明

  • 移除父路由path的通配符*:useRoutes的嵌套路由会自动处理子路径的拼接匹配,无需手动添加通配符。
  • 新增path: ''的子路由:当访问/main时,Outlet会渲染这个空路径对应的null,从而只显示<Main />;如果需要在/main下显示默认内容,也可以替换成对应的组件。
  • 子路由acc/update会自动拼接父路由的main路径,形成完整的/main/acc/update访问地址,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 03:44:54