我有一个有趣的难题,我想要一些洞察力。我有一个如下的路由设置:
<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
?
注意:我也可能这样做完全错误,在这种情况下,我会喜欢一些更好的方法来实现我的目标。
答案 0 :(得分:0)
对于有关人士的答案:
原来我在this.props.params
的孩子中寻找的Main
Route
不是由任何params
管理的,因此,我&#39; d需要明确地将Main
道具(或其中任何一个参数都很重要)从Main
传递给它。
我的<div>
<SomeOtherComponentThatWantsParams />
{this.props.children}
</div>
实现,作为一个粗略的JSX草图,看起来像:
{{1}}