filter() для удаления элементов из массиваРекомендуемый подход — использовать метод Array.prototype.filter() когда удаляешь элементы из state в React. Этот метод создаёт новый массив без изменения исходного state, что соответствует принципам иммутабельности в React.
React требует иммутабельного обновления state. Никогда не изменяй state напрямую методами вроде splice() или переназначением индексов массива. Вместо этого создай новый массив, который исключает элемент, который ты хочешь удалить.
Вот как реализовать метод removeItem():
removeItem(index) {
this.setState({
data: this.state.data.filter((item, i) => i !== index)
})
}
filter() проходит по каждому элементу массиваИспользование filter() гарантирует:
Этот подход работает и с class-компонентами, и с функциональными компонентами с хуками.
Использование Array.prototype.filter() для удаления элементов из React state создает новый массив и сохраняет иммутабельность, что необходимо для того, чтобы React корректно обнаруживал изменения state.
Новый — ещё не проверен сообществом
Вы