react 能不能通过this.props.children传值进去?

<Router>
            <Switch>
                <Route exact path="/" component={Index}/>
                <Route exact path="/explore" component={Explore}/>
            </Switch>
    </Router>

Index.js

<Layout>
   <Grid>
   ...
   </Grid>
</Layout>

Layout.js

<div>
    <main>
         {this.props.children}//我现在想将Layout里面的值传到Index组件里面,请问该如何做?
    </main>
</div>
阅读 11.2k
3 个回答
{React.cloneElement(children, { setting: setting })}

你的表述不是很清楚,最好说的再具体一点。不知道你说的是不是父子组件之间的通信?暂且按照父子组件的通信来回答。

  1. 在父组件定一个方法,然后通过props传递给子组件,子组件通过props进行调用。这里需要注意的就是父组件在父组件里传递给子组件的时候,记得绑定父组件的作用域,不然会有问题的。这个是在父子组件通信中最常用的方法。
  2. 使用redux来统一管理数据。简单的父子组件通信,不推荐使用这个。
  3. 利用事件机制。例如,可利用EventEmitter模块,在父组件绑定事件,在子组件中触发事件。

你的意思是子组件和父组件通信?
1.父组件传函数给子组件,子组件调用函数传值
2.数据管理方案,redux,RxJs...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题