在submit
Atlaskit 的方法中Form
,我想更改导致表单被隐藏的状态属性的值:
<Form onSubmit={data => {
return new Promise(resolve => {
setShowForm(false);
resolve();
})
}}>
</Form>
但是,这会导致 React 错误:
无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请取消 componentWillUnmount 方法中的所有订阅和异步任务。
当我稍后设置该值时,错误消失了:
setTimeout(() => setShowForm(false));
所以很明显,当我改变状态时,表单仍在卸载(虽然我不知道为什么这会影响表单,但我对 React 还不太熟悉)。我应该在这里采取什么方法?