访问父组件中的URL参数

时间:2016-03-23 14:54:23

标签: react-router

我有一个有趣的难题,我想要一些洞察力。我有一个如下的路由设置:

<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参数 - 来自&#34;父母&#34;组件,FooContainer

注意:我也可能这样做完全错误,在这种情况下,我会喜欢一些更好的方法来实现我的目标。

1 个答案:

答案 0 :(得分:0)

对于有关人士的答案:

原来我在this.props.params孩子中寻找的Main Route不是由任何params管理的,因此,我&#39; d需要明确地Main道具(或其中任何一个参数都很重要)从Main传递给它。

我的<div> <SomeOtherComponentThatWantsParams /> {this.props.children} </div> 实现,作为一个粗略的JSX草图,看起来像:

{{1}}