加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何防止使用react-router v4匹配两条路由?

发布时间:2020-12-15 20:16:41 所属栏目:百科 来源:网络整理
导读:我有以下两条路线:/ items和/ items / buy. 每个路径对应于单个视图中的Tab.两条路线都使用精确的道具进行渲染,但在导航到/ items / buy时,仍会将两个标签标记为活动. 我已经尝试过使用withRouter,但我注意到将/ items更改为/ items / sell修复了问题,但我
我有以下两条路线:/ items和/ items / buy.

每个路径对应于单个视图中的Tab.两条路线都使用精确的道具进行渲染,但在导航到/ items / buy时,仍会将两个标签标记为活动.

我已经尝试过使用withRouter,但我注意到将/ items更改为/ items / sell修复了问题,但我不想拥有那条路线.

我知道rrv4匹配我的路线/物品的第一部分和其他路线/ items / buy,但我认为如果我使用精确的话不应该发生.有关为什么会发生这种情况的任何线索?

啊,我忘了说我已经在使用Switch了.

谢谢你的帮助!

解决方法

您需要将路线放在< Switch>中零件.该开关仅渲染匹配的第一条路线.

import {Route,Switch} from 'react-router-dom';

<Switch>
  <Route exact path="/" component={Main} />
  <Route exact path="/items" component={SomeComponent} />
  <Route exact path="/items/buy" component={SomeOtherComponent} />
  <Route component={NotFound} />
</Switch>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读