React路由器v4阻止匹配子路由
问题描述:
我遇到了React Router v4交换机组件的问题。我很惊讶,我找不到这个问题的相关线索。一个常见的交换机将是这样的:React路由器v4阻止匹配子路由
<Switch>
<Route path='/path1' component={Path1Component}/>
<Route path='/path2' component={Path2Component}/>
<Route exact path='/' component={Home}/>
<Route component={NotFound}/>
</Switch>
这意味着,当我是一个路径:“/”我自己的房子组件,在“/路径1”我得到一个Path1Component和路径“/ foobar的'我收到一个NotFound组件。这是完全好
但是,当我在'/ path1/foobar'路线我也得到Path1Component。这种行为在每种情况下都是不正确的 - 这次我不想为'/ path1'路由设置任何嵌套路由。 '/ path1/foobar'应该得到一个NotFound组件,任何字符串,'/'或'/ path1'之后都不应该返回NotFound组件。
这个问题的首选解决方案是什么?我可以为每条路径添加确切的内容,但是这不会使代码过度扩展吗?我觉得这应该是默认的,但事实并非如此。
即使在React Router v4文档上,如here。我看到这个问题 - 这里'/ will-match/foo'也会匹配。你怎么看?