В моем состоянии у меня есть массив, который я сопоставил в render
функции:
Состояние
this.state = {
newItem: {
name: "",
amount: 0
},
products: [
{
name: "Item",
amount: 5
},
{
name: "Item",
amount: 5
},
{
name: "Item",
amount: 5
}
]
}
Я хочу удалить элемент из массивапродукты, нажав на кнопку этого элемента.Но то, что я пытался сделать, все терпит неудачу.Я много искал и нашел логически самое распространенное решение, но оно тоже не сработало.Вот функция удаления:
Функция удаления
delete(e) {
this.setState(prevState => ({ products: prevState.products.filter((product) => {
return product !== e.target.value
})}))
console.table(this.state.products)
}
Отображенный код JSX
{
this.state.products.map((item, index) => {
return(
<div key={index}>
<input readOnly value={this.state.products[index].name} type="text" />
<button disabled>-</button>
<input readOnly value={this.state.products[index].amount} type="number" />
<button disabled>+</button>
<button onClick={(e) => this.delete(e)}>Delete</button>
</div>
)
})
}