2017-02-05 28 views
1

で移動するとき、私は次のルートを持っている:リアクト・ルータ間違ったマッチングをリンク

function getModalRoutes() { 
    return (
    <Route component={ ModalContainer }> 
     <Route path='login' component={ SessionContainer }/> 
     <Route path='registration' component={ RegistrationContainer } /> 
    </Route> 
); 
} 

<Provider store={ createStoreWithState() }> 
    <Router history={ browserHistory }> 
    <Route path="/object/:object_id/" component={ ShowRoute } > 
     { getModalRoutes() } 
    </Route> 
    <Route path="/" component={ IndexRoute } > 
     { getModalRoutes() } 
    </Route> 
    </Router> 
</Provider> 

私は/object/1/loginにアクセスする場合はマッチングが正常に動作します。下記のようなリンクをナビゲーションに使用すると、/object/1/ページから/object/:object_id/loginの代わりに/loginルートがマッチします。

<Link 
    to={ `login` } 
    className="btn"> 
    Log In 
</Link> 

このシナリオでは、Linkを使用する別の方法はありますか?私はここで何かを逃しているように感じる。

ありがとうございます!

答えて

1

loginリンクを/object/1/loginに変更する必要があります。 /object/${number}/loginのようにパラメータ化することもできます。一般に、/your_linkのようなリンクを使用してアプリ内をナビゲートすると、常にhttp://yourdomain.sth/your_linkになります。

+1

よろしくお願いします。それは働いている – vladCovaliov

関連する問題