小能豆

如何在 React Router 中将 DefaultRoute 设置为另一个路由

javascript

我有以下内容:

  <Route name="app" path="/" handler={App}>
    <Route name="dashboards" path="dashboards" handler={Dashboard}>
      <Route name="exploreDashboard" path="exploreDashboard" handler={ExploreDashboard} />
      <Route name="searchDashboard" path="searchDashboard" handler={SearchDashboard} />
      <DefaultRoute handler={DashboardExplain} />
    </Route>
    <DefaultRoute handler={SearchDashboard} />
  </Route>

当使用 DefaultRoute 时,SearchDashboard 呈现不正确,因为任何 *Dashboard 都需要在 Dashboard 内呈现。

我希望“app”路由中的 DefaultRoute 指向路由“searchDashboard”。我可以使用 React Router 来实现这一点吗?还是我应该使用普通的 Javascript(用于页面重定向)来实现这一点?

基本上,如果用户转到主页,我希望将其发送到搜索仪表板。所以我想我正在寻找一个相当于window.location.replace("mygreathostname.com/#/dashboards/searchDashboard");


阅读 46

收藏
2024-06-05

共1个答案

小能豆

您可以使用 Redirect 代替 DefaultRoute

<Redirect from="/" to="searchDashboard" />

更新于 2019-08-09,以避免刷新问题,请使用此方法,感谢 Ogglas

<Redirect exact from="/" to="searchDashboard" />
2024-06-05