我有一个对象数组,想将数据作为初始数据传递到redux表单的 FieldArray 组件。
我浏览了文档中的 FieldArray 组件,但不清楚是否提供初始值。
有没有办法做到这一点?
答案 0 :(得分:0)
您将必须将fieldArray传递为数组,可以通过两种方式实现这一点:
1。将initialValues
道具传递给reduxForm HOC配置
const Form = reduxForm({
form: 'simple' // a unique identifier for this form
initialValues: {field1: "val1", fieldArrayFieldName: ["val1", "val2"]}
})(SimpleForm)
const SimpleForm = (props) => (
...
<FieldArray name="fieldArrayFieldName" component={renderFieldArrayComp} />
...
)
const renderFieldArrayComp = ({ fields }) => (
{fields.map((field, index) => (
<li key={index}>
<Field
name={hobby}
type="text"
component={renderField}
label={`Hobby #${index + 1}`}
/>
</li>
))}
)
有关更多信息,请参见docs
2。同样,您也可以手动调度INITIALIZE
操作,
reduxForm HOC将为您提供initialize动作作为道具, 您可以在componentDidMount中使用它,
componentDidMount() => {
const {initialize} = this.props;
initialize({field1: "val1", fieldArrayFieldName: ["val1", "val2"]})
}