私はこの単純な状況がリアクタ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
どれでも役立つだろう素晴らしいよ!残念なことに、サーバー側のビュールートがどのようなものになるのかわからないため、相対パスの問題に悩まされています。