React Router 4警告:"尝试重定向到您当前所在的相同路线"

时间:2018-01-10 20:54:50

标签: react-router

我似乎找不到让这个警告消失的方法。

首次加载应用程序时,URL只会收到&#34;#/&#34;从哈希路由器,所以我添加了条件<Redirect />,以便用户被重定向到第一个选项卡,但这会抛出警告消息tried to redirect to the same route you're currently on

有谁知道如何修复此警告?

<HashRouter>
<div>

  <div>
    <ol>
      { tabs }      
    </ol>
  </div>


  { routes }
  {
      (location.hash == '' || location.hash == '#/') && 
      <Redirect to={'/' + tabs[0].name} /> 
  }

</div>
</HashRouter>

在{routes}之前或之后<Redirect />似乎没有效果。

1 个答案:

答案 0 :(得分:0)

只需要使用React Router附带的<Switch />组件包裹路由。没有更多的警告。

<HashRouter>
<div>

  <div>
    <ol>
      { tabs }      
    </ol>
  </div>

  <Switch>
    { routes }
    <Redirect to={'/' + tabs[0].name} /> 
  </Switch>

</div>
</HashRouter>