Reactjs 反应路由器发送道具

Reactjs 反应路由器发送道具,reactjs,react-router,Reactjs,React Router,我的路由器配置如下: <Router history={browserHistory}> <Route path="/"> <IndexRoute component={HomePageContainers} /> <Route path="r/:subreddit_name" component={Subreddit} /> </Route> </Router> 和Home

我的路由器配置如下:

<Router history={browserHistory}>
    <Route path="/">
        <IndexRoute component={HomePageContainers} />
        <Route path="r/:subreddit_name" component={Subreddit} />
    </Route>
</Router>
HomePage
render
Reddits
类似:

 <Col md={3} key={reddit.data.id}>
   <Reddits key={reddit.data.id} reddit={reddit}/><br/>
 </Col>
只要路径是
r/:subreddit\u name
make,
subreddit
组件就会获得生命和工作。这里我还得到了
:subreddit\u name
值,作为
路由图的一部分。但是如果您查看
reddit
类,则
reddit.data
包含
Subreddit
的所有信息


我想将
reddit.data
作为道具从
Route(r)
发送,有可能吗?

您需要让HomeComponenet将reddit组件呈现为子组件,如下所示:

<Route path='/home' component="HomeComponent">
  <Route path='/reddit' component="RedditComponent">
</Route>
现在,您可以通过克隆子对象来传递道具,如下所示:

<Route path='/home' component="HomeComponent">
  <Route path='/reddit' component="RedditComponent">
</Route>
HomeComp

render() {
  { this.props.children }
}
render() {
       {this.props.children && React.cloneElement(this.props.children, {
              someFunctionOrDataToPass: this.someFunctionOrDataToPass
            })}
    }

这两个方面有何关联?路由器中没有
Reddits
组件。@Pavlo:我们也需要根据关系设计路由吗?很抱歉,从新开始!你必须在某个地方安装
Reddits
。顺便说一句,你不能通过路由器传递任意数据,所以你可能需要一个商店。是的。听起来你需要某种存储,试试看,或者@Pavlo:
Reddits
通过
HomePageContainers
装载和呈现。
render() {
       {this.props.children && React.cloneElement(this.props.children, {
              someFunctionOrDataToPass: this.someFunctionOrDataToPass
            })}
    }