渲染多个独立的redux-form

时间:2016-04-30 14:43:24

标签: javascript reactjs redux redux-form

我想使用<User/>呈现多个<CustomForm/>,它们都是无状态组件。 但是如果我尝试修改<CustomForm />其中一个<CustomForm/ >也会修改其中一个,因为它们都是从商店共享相同的属性。我怎样才能拥有多个独立的<CustomForm />

<User>
    <CustomForm user_id={user_id} />
</User>
<User>
    <CustomForm user_id={user_id}/>
</User>

我已经连接了这样的表格:

let CustomForm = (props) => {
    const { fields: {author, content}, handleSubmit } = props;

    return (
        <form action="">
            ....
        </form>
    )

}

CustomForm = reduxForm({
  form: `comment`, // I can't access props, i thought something like `comment_${props.user_id}`
  fields: ['author', 'content']
})(CustomForm)

export default CustomForm;

2 个答案:

答案 0 :(得分:1)

不要使用formKey,因为它会消失。

传递给reduxForm()的每个配置参数都可以作为道具传递,因此您可以执行

<CustomForm form={`comment_${user_id}`}/>

答案 1 :(得分:0)

您可以为组件提供formKey道具:

<CustomForm 
  formKey={user_id.toString()} // needs to be a string.
  user_id={user_id} 
/>