2016-03-23 20 views
1

私はいくつかの洞察をしたいという興味深い難点を持っています。私は次のようなルーティング設定を持っています:親コンポーネントのURLパラメータにアクセスする

<Router history={hashHistory}> 
    <Route path='/' component={Main}> 
    <IndexRoute component={Home} /> 
    <Route path='foo' component={FooContainer}> 
     <Route path='bars/:barId' component={BarDetailsContainer} /> 
     <Route path='baz/:bazId' component={BazDetailsContainer} /> 
    </Route> 
    <Route path='things' component={ThingListContainer}> 
     <Route path='thing/:thingId' component={ThingDetailsContainer} /> 
    </Route> 
    </Route> 
</Router> 

そしてそれは大きく動作します。 FooContainerには、this.props.childrenを経由せずに独自の子があり、:barIdが(および:bazId)であることを知りたい場合は、それぞれのルートを介してコンポーネントがロードされます。 にアクセスする方法はありますか?の "親"コンポーネントから現在のパラメータの(その子ルートのURLパラメータも含む)がありますか?

注:を間違ってと間違っている可能性もあります。この場合、ここで目標を達成するためのより良い方法についてのアドバイスが大好きです。

は私がどのRouteによって管理されていないMainthis.props.paramsを探していたが判明し、そのように、私は明示的渡す必要があると思います。気になる方のための

答えて

0

答え、 params小道具(またはいずれかの重要な小見出し)をMainから降りてください。

<div> 
    <SomeOtherComponentThatWantsParams /> 
    {this.props.children} 
</div> 
:の実装は、ラフスケッチJSXとして、のように見える

マイMain

関連する問題