如何将初始值以 redux 形式传递给字段数组组件?



我有一个对象数组,并希望将数据作为初始数据传递给 redux 表单的FieldArray组件。

我浏览了FieldArray组件的文档,但不清楚提供初始值。

有没有办法做到这一点?

您必须将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>
))}
)

查看文档了解更多信息

2.同样,您也可以手动调度INITIALIZE动作,

reduxForm HOC 将为您提供一个初始化操作作为道具, 你可以在 componentDidMount 中使用它,

componentDidMount() => {
const {initialize} = this.props;
initialize({field1: "val1", fieldArrayFieldName: ["val1", "val2"]})
}

相关内容

  • 没有找到相关文章

最新更新