我似乎找不到让这个警告消失的方法。
首次加载应用程序时,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 />
似乎没有效果。
答案 0 :(得分:0)
只需要使用React Router附带的<Switch />
组件包裹路由。没有更多的警告。
<HashRouter>
<div>
<div>
<ol>
{ tabs }
</ol>
</div>
<Switch>
{ routes }
<Redirect to={'/' + tabs[0].name} />
</Switch>
</div>
</HashRouter>