我有一個供應商,將返回我需要渲染元素的列表。此列表中的每個項目還必須有一個與其相鄰的按鈕,這些按鈕將根據所選元素執行一些操作。我渲染這種觀點就像這樣:如何檢索循環呈現的指數反應的組分
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'。 –