我有一个供应商,将返回我需要渲染元素的列表。此列表中的每个项目还必须有一个与其相邻的按钮,这些按钮将根据所选元素执行一些操作。我渲染这种观点就像这样:如何检索循环呈现的指数反应的组分
render(){
<div name="enclosing div">
{this._renderList()}
</div>
}
_renderList(){
var result = [];
var i = 0;
for (i; i < this.mylist.length; ++i) {
result.push(<p> {this.myList[i]} </p>);
result.push(<Button onClick={() => this.clicked(params) } />);
}
return result;
}
在我的点击处理程序中,我要求是在< p>标签中的信息。我认为这个方法是有效的:
<Button onClick ={() => this.clicked(i)} />
但是当我这样做,我总是在点击的时间= mylist.length。
所以下次,我还以为有我的按钮按住一个键属性,像这样的:
<Button index={i} onClick = {...} />
但我意识到,我不知道如何从指数传递给我的onClick。我怎样才能做到这一点?
我是不是接近这个名单渲染错误的开始?
关键是在相当特殊的属性作出反应,他们用它来当你想显示组件阵列,我不确定你是否可以使用道具访问它,或者如果你必须经历一个迂回的方式。我可能会使用像'index'这样的其他东西,只需要在子节点中输入'this.props.index'。 –