我遇到了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'也會匹配。你怎麼看?