стейта на прямую...
но ведь этот код меняет состояние... или через setState который делает return это законно?)
state = {
todoData: [
{ label: 'Drink Coffee', important: false, id: 1 },
{ label: 'Make Awesome App', important: true, id: 2 },
{ label: 'Have a lunch', important: false, id: 3 }
]
}
deletItem = (id) => {
this.setState(({todoData}) => {
const idx = todoData.findIndex((el) => el.id === id)
const newArray = [
... todoData.slice(0, idx),
... todoData.slice(idx+1)
]
return {
todoData: newArray
}
})
}
Он не меняет состояние, он возвращает новый кусок стейта, смена происходит внутри реакта
Обсуждают сегодня