2016-05-05 13 views
0

特定のルートに対して不特定多数のパスパラメータをサポートするURL構造体が必要です。一例として、リアクションルータで不特定多数のプロパティを受け入れる

、性質の異なる数と、我々はあらゆる種類のものを処理するthingコンポーネントへのルートを持っているとします

/thing/animal/mammal/four-legged-mammal/cat/leopard 
/thing/animal/mammal/four-legged-mammal/horse 
/thing/animal/fish/salmon 

私はこれを処理する方法を知っているだろう唯一の方法このようなルートをハードコードすることです:

<Route path='/thing/:prop1/:prop2/:prop3/:prop4/:prop5/:prop6' component={Thing}> 
</Route> 

それは吸う。

/thing/any/number/of/slashes/afterwardsのような宣言方法はありますか?受け取ったパラメータを配列などで繰り返し処理しますか?

答えて

1

*を使用してください。例:<Route path='/thing/*' />

URLパラメータはparams小道具で利用できます。 this.props.params*の部分はsplatに割り当てられます。 this.props.params.splat。ドキュメントから

  • () - パターン内の次の文字までの(非欲張り)すべての文字にマッチし、または - オプションの
  • *あるURLの部分をラップURLの末尾に スプラットパラメータを作成します
  • ** - 次の/、?、または#まですべての文字に一致し、スプラットパラメータを作成します

https://github.com/reactjs/react-router/blob/master/docs/guides/RouteMatching.md#path-syntax

関連する問題