Redux-form:keepDirtyOnReinitialize 导致表单在卸载后也保留值

Redux-form: keepDirtyOnReinitialize causes form to retain values also after unmount

这里使用redux-form。表单的一部分在 ajax 请求(select 中的项目列表)之后异步启动,这取决于用户 select 在单独的字段上编辑的内容。

为了实现这一点,我将新项目放入 initialValuesenableReinitialize: true。 select 正确预填充,一切正常。

但是由于我想保留用户可能在表单中添加的其他值,所以我也 keepDirtyOnReinitialize: true

到目前为止一切顺利。

问题是,如果用户导航回另一个页面(没有提交表单),我想清除所有表单并从头开始。 似乎表单在卸载时被正确销毁,但是当我们再次导航回表单时,由于 keepDirty...

,先前的值被保留

窗体的卸载是否优于 keepDirty?否则,这是在导航回另一页之前手动清理表单的唯一选择,还是我错过了更简单的方法?

问题是 'dirty' 值实际上是从 redux 存储中获取的,所以它不是保留它们的形式,而是我保留它们并以初始值再次将它们提供给 redux-form。我需要重新考虑一下我的代码。