如何以 redux 形式将初始值传递给 FieldArray 组件?
How to pass initial values to the FieldArray component in redux form?
我有一个对象数组,想将数据作为初始数据传递给 redux 表单的 FieldArray 组件。
我查看了 FieldArray 组件的文档,但不清楚提供初始值。
有没有办法做到这一点?
你必须将 fieldArray filed 作为数组传递,你可以通过两种方式实现:
1.pass reduxForm HOC 配置的 initialValues
道具
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.similarly 你也可以手动调度 INITIALIZE
动作,
reduxForm HOC 将为您提供一个 initialize 动作作为道具,
你可以在 componentDidMount 中使用它,
componentDidMount() => {
const {initialize} = this.props;
initialize({field1: "val1", fieldArrayFieldName: ["val1", "val2"]})
}
我有一个对象数组,想将数据作为初始数据传递给 redux 表单的 FieldArray 组件。
我查看了 FieldArray 组件的文档,但不清楚提供初始值。
有没有办法做到这一点?
你必须将 fieldArray filed 作为数组传递,你可以通过两种方式实现:
1.pass reduxForm HOC 配置的 initialValues
道具
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.similarly 你也可以手动调度 INITIALIZE
动作,
reduxForm HOC 将为您提供一个 initialize 动作作为道具, 你可以在 componentDidMount 中使用它,
componentDidMount() => {
const {initialize} = this.props;
initialize({field1: "val1", fieldArrayFieldName: ["val1", "val2"]})
}