0
我有看起來像這樣的路線:陣營路由器V3 - 如何通過聲明和訪問其他元數據的子路由
<Router history={syncHistoryWithStore(browserHistory, store)}>
<Route path='/' component={Widget}>
<Route path='/a' component={A} />
<Route path='/b' component={B} expand />
<Route path='/c' component={C} />
</Route>
<Route path='*' component={FourOhFour} />
</Router>
所以,Widget
呈現A
,B
,或C
兒童。請注意,在B
我已添加我的自己的道具,expand
。通常,Widget
將孩子包裝在其他填充的DOM節點中。當expand
是truthy,我不希望它被包裹,並可以相應地處理它。 我該如何去實現這個目標?
- 我
Widget
組件,props.routes
是一個東西,但它包含樹中的每個路徑的數組。 - 在我的
Widget
組件中,props.route
是一件事情,但它不給我提供匹配的子路由。- 它就像我希望有一個
props.route.child
,爲了嗅探expand
- 它就像我希望有一個
我設想是這樣的:
render() {
const { children, route: { child: { expand } } } = this.props
return (
<div {...someOtherProps}>
{expand ? children : <p id="padded-thing">{children}</p>}
</div>
)
}
我相信,這是一個解決的問題儘管也許我的策略是關閉的。
我沒有看到一對夫婦近欺騙線程,就像Passing additional parameters in React Router,但考慮到即時通訊詢問父母的路線看到了渲染的胎化路線,我想這是足夠不同。謝謝!
doh!我提早發表了自己的評論,認爲讓我在評論中做一些小節。無論如何,我更新了我原來的帖子,我實際上是如何設想的,仍然是自上而下的。我認爲你的方法對我來說可能就足夠了。 thx :)但是,我想要找出一種方法來在Widget內部和在路由級別進行包裝 – cdaringe