2017-07-06 15 views
1

私は次の2つのルートを持っています:/items/items/buyです。反応ルータv4との2つのルートのマッチングを防ぐにはどうすればよいですか?

各ルートは、単一のビュー内のタブに対応します。どちらのルートも正確な小道具でレンダリングされますが、/items/buyにナビゲートすると、2つのタブがアクティブとしてマークされます。

私は既にwithRouterを使用してみましたが、変更したことに気付きました/itemsから/items/sellに問題が修正されましたが、そのルートは必要ありません。

私はrrv4が私のルート/itemsとあまりに/items/buy他のルートの最初の部分に一致している理解し、私は、私はexactを使用している場合はそれが起こっすべきではないと思います。なぜこれが起こっているのかについての手がかりは?

ああ私はすでにスイッチを使用しています。

ありがとうございました!

答えて

1

問題は、LinkConttainerでNavItemをラップしていて、LinkContainerに正確な小道具がないことです。正確な小道具を追加すると問題が解決しました!

4

<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> 
+0

私はすでにスイッチを使用しています:/ – Whee

関連する問題