2017-12-15 18 views
1

私はこの単純な状況がリアクタ4で働いているのを苦労しています。基本的には、コンポーネントをレンダリングするユーザデータを取得するためのパラメータがあります。/:user。私はまた、/:user/:specificViewのようにレンダリングするそのページのより具体的なビューをいくつか持っています。後者が特定のビューのようなマッチユーザーを見逃すのを防ぐために、私は以下の正規表現を試してきましたが、リアクタルータ4の相対パス

<div> 
    <Switch> 
     <Route 
     exact 
     path="*/:user/:specificView(coolview|niceview|okview)" 
     render={routerProps => 
      <SpecificViewContainer {...routerProps} {...this.props}/>}/> 
     <Route 
     path="/:user" 
     render={routerProps => 
      <UserPageContainer {...routerProps} {...this.props}/>}/> 
    </Switch> 
</div> 

相対パスの一部は、これらの二つのルートが何も(/coolusers/:user/:specificView/okusers/butnotbad/:users/:specificView ...等)の上に座ることができる場所に来るので、彼らはパス名の最後の部分である必要があります。

私は多くのことをグーグルたのだが、開口部のスラッシュが提案された省略されている相対パス形式:user/:specificViewだが、それは、私はそれがでそれを作ったとは思わないので、動作していない:https://github.com/ReactTraining/react-router/issues/5127

どれでも役立つだろう素晴らしいよ!残念なことに、サーバー側のビュールートがどのようなものになるのかわからないため、相対パスの問題に悩まされています。

答えて

0

私はルートは、さまざまな親ルートから使用できるようにするmatch.pathを使用してきた:

<Route 
    exact 
    strict 
    path={`${match.path}/create`} 
    component={CreateComponent} />