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