【发布时间】:2015-08-28 12:11:11
【问题描述】:
如何访问在父组件中创建的 React 组件?
示例,使用以下代码:
var Widget = React.createClass({
render: function() {
return <div>{ this.props.widget_id }</div>
}
});
var Column = React.createClass({
onBtnClick: function() {
console.log(this);
//
},
render: function() {
var widgets = [];
for(var i=0; i<3; i++) {
widgets.push(<Widget key={i} widget_id={i} />);
}
console.log(widgets);
return <div>
<button onClick={this.onBtnClick}>click me</button>
{widgets}</div>;
}
});
React.render(<Column />, document.getElementById('container'));
console.log(小部件);给我这个,创建的 3 个小部件:
[ReactElement, ReactElement, ReactElement]
在 onBtnClick 函数中,我如何访问它们? 如果我在函数内部检查“this”,则 props 和 refs 数组都是 null ([]);
【问题讨论】:
-
在
onBtnClick()内,this指的是Column组件,并且由于您没有向它传递任何道具(<Column />),所以this.props是一个空数组。 -
@julen 这对我来说很有意义。但是有没有办法访问这个小部件数组? Column(组件)是否有对其的引用?
标签: javascript reactjs