【问题标题】:redux-form Multiple forms with the same name; how to not override syncErrorsredux-form 多个同名表单;如何不覆盖同步错误
【发布时间】:2018-07-24 14:10:39
【问题描述】:

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

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

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

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

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

有什么想法吗?你认为这是一个错误吗?

非常感谢!

【问题讨论】:

    标签: reactjs redux redux-form


    【解决方案1】:

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

    【讨论】:

    • 是的,我试过了。在这里并没有真正的帮助,因为第一种形式没有被破坏。这是一个代码框,如果你想看一个最小的例子:codesandbox.io/s/o547k8rqoz
    猜你喜欢
    • 1970-01-01
    • 2018-03-07
    • 2019-03-27
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    相关资源
    最近更新 更多