38

我没有传递任何特殊的配置设置,也没有设置/或调用 Destroy ......但我的状态正在被清理......无论如何要防止这种情况发生?我需要状态保持不变,因为我需要整个应用程序中的数据。

prev state: I see it in there... via redux-logger
action: redux-form/Destroy
next state: it's gone.
4

2 回答 2

77

当窗体被卸载时,窗体的状态子树破坏,这是设计的。这是默认和预期的行为。

v6.2.1开始,有一个表单配置属性destroyOnUnmount,它显式启用/禁用特定表单上的状态清除行为(此处的文档

import { reduxForm } from 'redux-form';

reduxForm({
  form: 'example',
  destroyOnUnmount: false
})(...)

当您有一个表单时,如果用户中途放弃它,您希望保留其状态,导航离开,然后稍后返回,这很有用。

于 2016-11-28T16:31:24.027 回答
2

您可能正在将redux-forms的状态合并到您的状态中,您应该将它放在单独的键下。Destroyaction 返回 undefined,如果 redux-forms reducer 只管理它是 store 的一部分,这没关系。

确保您遵循本教程中的第 1 步,特别是以下form: formReducer部分: https ://redux-form.com/7.2.3/docs/gettingstarted.md/#step-1-of-4-form-reducer

于 2016-02-17T14:55:36.617 回答