Redux 表单:从外部包装组件访问 FieldArray 字段道具

Redux Form: Accessing FieldArray fields prop from outside wrapped component

我有一个由几个经典字段和两个 FieldArray 组成的表单。这些 FieldArrays 位于不同的部分,但相互关联。当我将一个项目添加到 FieldArray A(一行不同类型的字段)时,应该为 FieldArray B 构建另一行。 FieldArray A 和 B 的不同之处在于它们代表不同的字段集合和结构,但是,当向 A 中添加一行时,必须向 B 中添加一行。

为了向 FieldArray A 添加一行,我按照文档中的方法使用 push 方法进入 prop 字段,在 FieldArray A 的包装组件内。但是我无法访问 FieldArray B 的道具字段。该道具只能从 FieldArray B 内的包装组件中访问。

是否有其他方式或方法可以从外部访问 FieldArray B 的属性字段? formValues() 或 formValuesSelector() 没有用。

好吧,在挖掘 redux-form 的隐藏功能文档之后...我发现您可以从 redux-form 导入它的动作创建者,特别是 arrayPush 它可以让您 push 一个新的 "row" 字段,方法是像这样指定 formid、fieldarray 名称和值:

给定一个 id 为 'myForm' 的 redux-form,一个名称为 'nested_model_attributes' 的 FieldArray 和一个 value = [subfield1: 'A', subfield2: 2, ... ]

您可以发送以下内容:

arrayPush('myForm', 'nested_model_attributes', value)

瞧...FieldArray 添加了一行新的字段 :)。在这种情况下,这是我在原始问题中提到的 FieldArray B。我需要做的就是从我将新的一行字段推送到 FieldArray A 的地方分派此方法。