react-router-dom v6配置默认子路由

有两种方式,实现起来相差不大。

第一种

适用于父路由为主路由表。父路由path设置为'/',子路由path也设置为'/'。初次加载进入路由地址会默认显示path为'/'的子路由。

如果父路由path部位'/',使用这种方法报错

const routerObj: RouteType[] = [
  {
    path: "/",
    element: <App />,
    errorElement: <ErrorPage />,
    children: [
      {
        path: "/",
        // index:true,
        element: PageLoading(<Page1 />),
        title: "page1",
        icon: <GoldFilled />,
        auth: false,
      },
      {
        path: "page2",
        element: PageLoading(<Page2 />),
        title: "Page2",
        icon: <SnippetsFilled />,
        auth: false,
      },
    ],
  },
];
第二种,官方推荐

第二种方法是正规方法,也是官方推荐的写法。与第一种写法区别很小,只需要把子路由path删除,新增index属性,值为true。

这种默认子路由写法不受父路由path限制。

推荐使用第二种。这种情况下,可以将默认子路由看成父路由,路由跳转时也需要跳转路径填写为父路由地址(毕竟默认子路由没有path)。

const routerObj: RouteType[] = [
  {
    path: "/",
    element: <App />,
    errorElement: <ErrorPage />,
    children: [
      {
        // path: "/",
        index:true,
        element: PageLoading(<Page1 />),
        title: "page1",
        icon: <GoldFilled />,
        auth: false,
      },
      {
        path: "page2",
        element: PageLoading(<Page2 />),
        title: "Page2",
        icon: <SnippetsFilled />,
        auth: false,
      },
    ],
  }
];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值