我有一个带有select输入的表单,该表单在一个组件中显示两次,并且该组件也被渲染了很多次。问题是,我看不到商店中每种表格的分隔值。当我在reduxForm()中传递表单名称时,它显示一次;当我尝试在<Field>
中传递表单名称时,它根本不显示任何数据。
抱歉,我可能提出了一些琐碎的问题,但是我是Redux的新手,这也是我的第一个问题。
这是我的代码:
let ProductForm = (props) => {
const optionsComponent = ({ input }) => {
return (
<label>{input.name}
<select {...input}>
{
props.option.values.map(
valueItem => <option key={valueItem.id} value={valueItem.id}>{valueItem.name}</option>
)
}
</select>
</label>
)
}
return (
<form className="container">
<Field component={optionsComponent} form={`${props.productId}-${props.option.id}`} onChange={optionChangeHandler} name={props.name} type="select"/>
</form>
)
}
ProductForm = reduxForm({
// form: 'option-form',
initialValues: {
'Color': 'Silver',
'Capacity': '64 GB'
}
})(ProductForm);
ProductForm = connect(state => ({
formValue: getFormValues('option-form')(state)
}))(ProductForm);
如何为每种表单设置InitialValues?我想将其设置为选择输入中的第一个选项。 最后,我应该如何正确地从存储中获取价值?这是getFormValues()函数的正确方法吗?