我有以下内容:
<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");
window.location.replace("mygreathostname.com/#/dashboards/searchDashboard");
您可以使用 Redirect 代替 DefaultRoute
<Redirect from="/" to="searchDashboard" />
更新于 2019-08-09,以避免刷新问题,请使用此方法,感谢 Ogglas
<Redirect exact from="/" to="searchDashboard" />