карточка, на кнопку которой нажали?
https://codesandbox.io/s/hs6vd3
у тебя вот тут у item idx нет clone.filter((item) => { item.idx !== idx; });
надо передать тоже как параметр?
погугли про splice() https://codesandbox.io/s/loving-framework-zyckq5?file=/src/App.js
я там попробовал delete clone[idx]; сработало как тебе надо вроде
хорошо, спасибо!
увидела, спасибо. то есть key это всегда в основном id?
уникальное значение
ещё в каких то случаях можешь индекс использовать
да, key должен всегда быть уникальным
Использовать индекс массива тоже плохо, кроме тех редких случаев когда не важно
cards: [ { number: "7653 7553 5693 9862", balance: 100, idx: 0 }, { number: "7453 9736 0763 3474", balance: 400, idx: 1 }, { number: "9577 7543 9379 9784", balance: 800, idx: 2 } ] handleCloseCard = (idx) => { console.log(idx); const clone = [...this.state.cards]; const clone_filtered = clone.filter((item) => { return item.idx !== idx; }); console.log(clone_filtered); this.setState({ cards: clone_filtered }); }; {this.state.cards.map(({ number, balance, idx }, idx2) => ( вот 3 места как я поменял. так работает
Обсуждают сегодня