添加新字段时为 FieldArray 中的 redux-form 字段提供默认值

Giving a default value to redux-form Field in a FieldArray when adding new Fields

以前在 redux-form 的早期版本中,您可以将 initialValue 道具直接传递给字段,而不是在 mapStateToProps 函数中传递 initialValues 值.现在看来只能做后者了

我想知道如何将我的字段数组中新推送的字段的默认值设置为 "Field No.2" 之类的东西(我会使用传递给该字段的索引来获取数字,我是更难过如何传递默认值。)

您可以在将新条目推送到数组时传递初始值。 鉴于 redux-form 文档中的示例:


const renderSubFields = (member, index, fields) => (
  <li key={index}>
    <button
      type="button"
      title="Remove Member"
      onClick={() => fields.remove(index)}
    />
    <h4>Member #{index + 1}</h4>
    <Field
      name={`${member}.firstName`}
      type="text"
      component={renderField}
      label="First Name"
    />
    <Field
      name={`${member}.lastName`}
      type="text"
      component={renderField}
      label="Last Name"
    />
  </li>
)
const renderMembers = ({ fields }) => (
  <ul>
    <button type="button" onClick={() => fields.push({ firstname: 'field 1 firstname', lastname: 'field 1 lastname' })}>
      Add Member
    </button>
    {fields.map(renderSubFields)}
  </ul>
)