我有一个方法基于一些搜索将我的道具传递到我的孩子路线,但我不确定这是最好的方法。我也在使用redux,所以我正在考虑使用react-router-redux,但我首先想看看是否有可能没有其他库。所以这是我目前的工作方法:
我的路线:
<Router history={browserHistory} >
<Route path="/" component={main.Component} services={services}>
<Route path="/collections" component={mainContent.Component}>
<Route path="/collections/:collection" component={productList.Component}>
<Route path="/:sub-collection" component={productList.Component} />
</Route>
</Route>
</Route>
</Router>
然后在main.component中我就是这个 -
render() {
const prods = this.props.products;
const children = React.Children.map(this.props.children, function(child) {
return React.cloneElement(child, {
products: prods
});
});
return (
<div className="follain-products row">
Main Content Area
{children}
</div>
);
}
在productList.component中使用相同的方法将props传递给/:子集合路由。这是有效的,但我想知道是否有更好或更清洁的方式这样做?我挖了一堆这个cloneElment方法似乎是一种常见的方法。谢谢!