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

React在父组件中如何拿到子组件的虚拟dom

React在父组件中如何拿到子组件的虚拟dom

云景前端 2016-01-24 01:03:02
目前我的方法是,用一个全局变量将子组件render时的虚拟dom实例保存下来,以方便在父组件中调用。那么问题就是如何不用变量直接在父组件中直接拿到子组件的虚拟dom呢?// 全局变量,用于记录每个子组件的虚拟DOM实例     var childrenComponent=[];          // 子组件     var Child = React.CreateClass({         componentDidMount: function (){             // 将组件最后的react实例保存下来,方便在父组件中调用其属性和方法。       childrenComponent.push(this);   },         render:function (){             return(                 <p>this is a child component,number:{this.props.index}</p>             )         }     })          //父组件     var Parent = React.CreateClass({         handleCilck:function (){             //这里拿到子组件的虚拟DOM,以进行一些操作             console.log(childrenComponent[0])         },         render:function (){             var children = [];             var newChild = function (i){                 return <Child index={i} />              }              for(var i=0, i<5, i++){                 children.push(newChild(i))             }             return(                 <div>                     {children}                     <button onClick={this.handleClick}></button>                 </div>             )         }     })          React.render(     <Parent />,     document.body );
查看完整描述

2 回答

?
我们没有朋友

TA贡献1条经验 获得超0个赞

你这个方法最实用了! 感谢分享

查看完整回答
反对 回复 2016-07-21
  • 2 回答
  • 1 关注
  • 4437 浏览
慕课专栏
更多

添加回答

举报

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