React Router,将props传递给chlid路由

时间:2016-10-21 16:33:40

标签: javascript reactjs react-router

我有一个方法基于一些搜索将我的道具传递到我的孩子路线,但我不确定这是最好的方法。我也在使用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方法似乎是一种常见的方法。谢谢!

0 个答案:

没有答案