如何将道具从组件发送到 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
会自己维护 fields
和 meta
对象项,其余 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"}
/>
我正在使用带有 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
会自己维护 fields
和 meta
对象项,其余 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"}
/>