如何将道具从组件发送到 Redux FieldArray

how to send props from a Component to Redux FieldArray

我正在使用带有 FieldArray 的 redux-form,我需要访问 FieldArray 组件中的道具。我尝试按以下方式传递道具,但出现错误“无法读取未定义的 属性 'fields'”

<FieldArray name="docList" component={docs} props={this.props}/>

const docs= ({props, meta: {error, submitFailed}}) => {
    const {fields} = props;
    return (
    {fields.map((doc, index) => (
     <div>
            <Field component={CustomCom} name={`${doc}.size`} label="size"
                handleChange={(label, type) => this.customMethod(label, SIZE)}
                placeholder="" value={props.sizeValue}/>
     </div>
))}

请告诉我如何在 FieldArray 组件中传递和使用道具。谢谢。

像这样更新你的函数参数

const docs= ({meta: {error, submitFailed}, ...props}),或者,

const docs= ({fields, meta: {error, submitFailed}})

FieldArray props 会添加到 docs 组件的 props 对象中,redux-form 会自己维护 fieldsmeta 对象项,其余 props 你传递在 FieldArray 中将附加到 props 发送到 docs 组件。

举个例子

const renderMembers = props => {
  console.log(props);
  const {
    fields,
    meta: { touched, error, submitFailed }
  } = props;
  return (
    <ul>
      {fields.map((member, index) => (
        <li key={index}>foo</li>
      ))}
    </ul>
  );
};
<FieldArray
  name="members"
  component={renderMembers}
  explicitProp={"Hello"}
/>