为了账号安全,请及时绑定邮箱和手机立即绑定

如何将道具传递给{this.pros.child}

如何将道具传递给{this.pros.child}

翻阅古今 2019-06-21 16:37:21
如何将道具传递给{this.pros.child}我试图找到正确的方法来定义一些可以通用方式使用的组件:<Parent>   <Child value="1">   <Child value="2"></Parent>当然,在父组件和子组件之间呈现的逻辑是可以想象的。<select>和<option>作为这个逻辑的一个例子。为本问题的目的,这是一个虚拟的实施:var Parent = React.createClass({   doSomething: function(value) {   },   render: function() {     return (<div>{this.props.children}</div>);   }});var Child = React.createClass({   onClick: function() {     this.props.doSomething(this.props.value); // doSomething is undefined   },   render: function() {     return (<div onClick={this.onClick}></div>);   }});问题是当你使用{this.props.children}若要定义包装器组件,如何将某些属性传递给所有其子组件?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

要想获得一种稍微更干净的方法,请尝试:

<div>
    {React.cloneElement(this.props.children, { loggedIn: this.state.loggedIn })}</div>

只有在只有一个孩子并且是一个有效的反应元素的情况下,这才能起作用。


查看完整回答
反对 回复 2019-06-21
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

尝尝这个

<div>{React.cloneElement(this.props.children, {...this.props})}</div>

我用的是反应-15.1。


查看完整回答
反对 回复 2019-06-21
  • 3 回答
  • 0 关注
  • 603 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信