我的React主App组件中具有以下状态:
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
}
});
}
您可以看到,我上面编辑的所有内容都是全局变量,但是当我在react调试器中检查状态时,发现edittaskid
和edittasktext
都消失了,就像您可以在下面看到,这就是上面函数运行后的状态。
请参见下面的屏幕截图,说明应用加载的时间:
请参见下面的屏幕截图,说明应用程序模式何时打开并运行功能:
为什么我的状态中的元素被抹掉了?