访问父级中的 formsection 子级表单值(redux-form)

accessing formsection children form values in parent (redux-form)

ParentForm.js

<FormSection name="ChildRequestForm">
   <ChildForm />
</FormSection>

在 ParentForm 中提交表单时,它应该从 ChildForm 组件获取值,这工作正常。

但是一旦 ChildForm 组件连接了 reduxForm 例如:

ChildForm = reduxForm({
    form: 'ChildRequestForm'
})(ChildForm);

那么父表单将无法在提交时检索子表单的值。

我不得不用 reduxForm 包装子组件,因为表单需要分派 'change' 函数并需要访问 formvalueSelector

沙盒Link https://codesandbox.io/s/jj1mk114n5

有什么帮助吗?

子窗体应与父窗体同名(在您的示例中为 'foo')。因此,要使子表单名称动态化,请将 formname 道具传递给您的子组件,并使用 mapstatetoprops ownprops 使用它。

通过这种方式,您可以在任何需要的时候重用具有父 formname 的子组件。

参考dis How do you pass in a dynamic form name in redux form?