首页 > 解决方案 > redux-form 多个同名表单;如何不覆盖同步错误

问题描述

redux-form用来管理类似向导的表单。向导步骤的所有形式都具有相同的名称,这从来都不是问题,因为它们从未同时安装。现在,在其中一个步骤中,我有一个模式,它打开另一个具有此名称的表单。

这导致在初始化第二个从时redux-form覆盖syncErrors属性,因此在打开模式之前存在的所有错误现在都丢失了。

一个简单的例子: 我有一个带有 Field1 和 Field2 的表单,两者都有错误。现在我用另一个表单打开一个模式,它呈现 Field2 和 Field3。Field1 的错误现在已从状态中删除,即使它仍然安装在后台。

我认为keepDirtyOnReinitialize&enableReinitialize道具会规避这一点,但它似乎不起作用。

redux-form是应该工作的方式吗?我知道有多个具有相同名称的表单有点奇怪,尤其是在同一页面上,但直到现在它才有意义。为第二种形式使用不同的名称显然可以解决问题,但会引入很多其他问题。

有任何想法吗?你认为这是一个错误吗?

非常感谢!

标签: reactjsreduxredux-form

解决方案


尝试设置destroyOnUnmount为 false 以将表单字段和错误保持在您的 redux 状态。


推荐阅读