Потеря state React

62
18 марта 2022, 19:00

Не пойму, почему теряется стейт при отработке события, если я его, вроде, не мутирую.

Вот функции, перезаписывающие стейт:

Answer 1

Если вы хотите вернуть начальное значение, то его нужно где-то хранить, в константе (если список неизменный) или в state (если список меняется от каких-то условий) и от него отталкиваться при изменении toDoData

const initData = [...]
state = {
    toDoData: initData
}
filterAllItems = () => {
    setState({
        toDoData: initData,
    })
}
filterActiveItems = () => {
    setState({
        toDoData: initData.filter(item => !item.done),
    })
}