В моем главном компоненте приложения React есть следующее состояние:
state = {
tasks : [],
tags : [],
modals : {
deleteModal : false,
editmodal : false,
addmodal : false
},
globals : {
deleteid : null,
deleteIdx : null,
edittasktext : null,
edittaskid : null
}
}
Когда я открываю модальное состояние, состояние редактируется в приведенной ниже функции, например,
_handleEditModalOpen = ( id , text ) => {
let modals = this.state.modals,
globals = this.state.globals;
this.setState({
modals : {
...modals,
editmodal : true
},
globals : {
...globals,
edittaskid : id,
edittasktext : text
}
});
}
Как видите, одна из вещей, которые я редактирую выше, это глобальные переменные, но когда я проверяю свое состояние в отладчике реакции, я вижу, что edittaskid
и edittasktext
уничтожены, как вы можете видеть ниже, так выглядит состояние после запуска вышеуказанной функции.
см. Скриншоты ниже, состояние при загрузке приложения:
см. Скриншоты ниже, состояние, когда модальное приложение открывается и запускается функция:
Почему элементы из моего штата стираются?