从默认路由重定向到另一路由时滞后

时间:2020-02-12 01:26:05

标签: javascript reactjs react-router-dom

我是React Router的新手,我正在研究路由到React Router的最佳方法。

我要实现的目标:

我只希望单击“媒体管理”选项卡时,默认路由导航到/:tenantName/media_management/dashboard而不是/:tenantName/media_management

问题:

  • 我正在明确检查路由是否为初始路由,然后重新路由至/dashboard。这有效,但是 非常慢。当我点击时,我会注意到明显的滞后 Media-management标签。

  • 是否想知道是否有更好的方法处理默认路由?

Router.js

import { Route, Redirect, Switch, useHistory } from 'react-router-dom';
const AsyncMediaManagement = lazy(() => import('@src/features/media-management/'));


<Route
   path="/:tenantName/media_management"
   component={withMainLayout(AsyncMediaManagement, 'MediaManagement')}
/>

Media-management.js:

  if (contentTypeSelected === '') {
    props.history.push(`/:tenantName/media_management/dashboard`);
  }

请帮助,我对路由器起了反应,所以非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试将exact=true添加到您的路线

我们还能看到您的更多信息吗-您是否在显示的仪表盘上方或下方具有默认的仪表板路线?

如果您不向路线添加exact=true道具,RR将匹配找到的第一条路线。

相关问题