React Router v4您试图重定向到当前使用的相同路由

时间:2018-06-20 22:45:01

标签: reactjs react-router react-router-v4

使用react-router-dom v4.3.1,我想从'/'重定向到'/ over / here',以有效地重新定义应用程序的根目录。在ReactDOM.render()方法中:

SELECT * FROM event e0_ JOIN event_user_request e2_ ON e0_.id = e2_.event_id INNER JOIN fos_user f1_ ON f1_.id = e2_.user_id WHERE e0_.scheduled_employee_id = 5 OR ((f1_.id = 5 AND e0_.scheduled_employee_id IS NULL))

直接导航到http://localhost/over/here会按预期方式渲染SomePlace-导航到http://localhost/会引发以下警告:

  

警告:您试图重定向到当前所在的路线:   “ / over / here”

如果我在组件中使用“路由反应”并在某些状态下呈现ON,也会引发此警告。

最后,这还会引发警告:

JOIN event_user_request

这是怎么回事?我觉得所有文档都忽略了将新位置推入历史记录(重定向组件在幕后所做的事情)之后发生的事情的一部分-那么,如何推入新位置被路由器拾取并渲染正确的组件?

1 个答案:

答案 0 :(得分:0)

您非常接近解决方案。您只需将<Redirect />放在<Route />上方。

<Router history={history}>
  <Switch>
    <Redirect from="/" to="/over/here" />
    <Route exact path="/over/here" component={SomePlace} />
  </Switch>
</Router>