我是React.js的新手,我想删除在map函数中生成的当前div。当我单击delete按钮时,它将删除数组数组的最后一个元素,而不是单击的元素。
这是我的代码:
{
this.state.array.map((item,index)=>{
return(
<div key={index}>
<Question />
<button onClick={() => { this.deleteRow(index); }}>DELETE</button>
</div>
);
})
}这是我的删除功能
deleteRow = (index) => {
// make new rows. note: react state is immutable.
let newArray = this.state.array;
newArray.pop(newArray[index]);
this.setState({
array: newArray,
});
console.log(this.state.array);
}发布于 2020-01-07 09:43:54
<button onClick={() => this.deleteRow(item)}>DELETE</button>更改此代码
deleteRow = (item) => {
let newArray = this.state.array;
let filtered = newArray.filter(a=>a.id!==item.id);
this.setState({array: filtered});
}https://stackoverflow.com/questions/59625679
复制相似问题