Reactjs React Router v4您试图重定向到与您相同的路由';我们现在在

Reactjs React Router v4您试图重定向到与您相同的路由';我们现在在,reactjs,react-router,react-router-v4,Reactjs,React Router,React Router V4,使用react router dom v4.3.1,我想从“/”重定向到“/over/here”,从而有效地重新定义应用程序的根。在ReactDOM.render()方法中: 直接导航到按预期渲染某处-导航到会引发以下警告: 警告:您试图重定向到当前所在的路由: “/那边/这里” 如果我在组件中使用“React way of routing”并在某些状态条件下呈现,也会引发此警告 最后,这也引发了警告: <Router history={history}> <Swit

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


直接导航到按预期渲染某处-导航到会引发以下警告:

警告:您试图重定向到当前所在的路由: “/那边/这里”

如果我在组件中使用“React way of routing”并在某些状态条件下呈现
,也会引发此警告

最后,这也引发了警告:

<Router history={history}>
   <Switch>
     <Route exact path="/tutor/apply" component={TutorApplication} />
     <Route exact path="/" render={() => <Redirect to="/tutor/apply" />} />
   </Switch>
</Router>

} />

这是怎么回事?我觉得所有文档都忽略了将新位置推到历史记录中后发生的事情(重定向组件在引擎盖下所做的事情)-那么,推送新位置如何被路由器拾取并呈现正确的组件呢?

您已经非常接近解决方案了。您只需将
置于
上方即可


Shayno,你有没有找到解决方案?
<Router history={history}>
   <Switch>
     <Route exact path="/tutor/apply" component={TutorApplication} />
     <Route exact path="/" render={() => <Redirect to="/tutor/apply" />} />
   </Switch>
</Router>
<Router history={history}>
  <Switch>
    <Redirect from="/" to="/over/here" />
    <Route exact path="/over/here" component={SomePlace} />
  </Switch>
</Router>