我有一个多步向导的应用程序,我有一个更高的订单组件,可以在流程中创建每个表单,目前我每个表单组件都有以下选项:
{
form: formName,
validate: validate,
destroyOnUnmount: false,
keepDirtyOnReinitialize: true,
forceUnregisterOnUnmount: true
}
我目前没有设置enableReinitialize
因此默认为默认。
每次用户进入下一步时,我都会更新redux状态。
这是向导方案中的一个问题,因为如果用户单击然后再向前,则会丢失某些状态,因为在该特定步骤中字段将重新设置为initialValues
。
将enableReinitialize
设置为true会对性能产生什么影响,每次状态更改时,还是每次加载组件时都会重置?
答案 0 :(得分:0)
redux-form docs对向导表单有一个非常有用的指南。您要找的不是enableReinitialize
,而是destroyOnUnmount
到false
。
我认为文档很直接。
答案 1 :(得分:0)
在 Redux 表单上的 Wizard 上使用它来保留字段值。
const formWrapped = reduxForm({
form: 'yourFormName',
destroyOnUnmount: false, // <------ preserve form data
forceUnregisterOnUnmount: true
})(YourComponentName);