小编典典

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

reactjs

我有以下几点:

  <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时,由于任何* Dashboard需要在Dashboard中呈现,因此SearchDashboard呈现不正确。

我想在“应用”路由内将DefaultRoute指向路由“ searchDashboard”。这是我可以使用React
Router进行的操作,还是应该为此使用常规Javascript(用于页面重定向)?

基本上,如果用户转到主页,我想将其发送给搜索仪表板。所以我想我正在寻找一个等效于React
Router的功能window.location.replace("mygreathostname.com/#/dashboards/searchDashboard");


阅读 615

收藏
2020-07-22

共1个答案

小编典典

您可以使用Redirect代替DefaultRoute

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

更新2019-08-09为避免刷新问题,请改用此,这要感谢Ogglas

<Redirect exact from="/" to="searchDashboard" />
2020-07-22