我遇到了一个问题,即redux没有进入变化值状态(状态相等)
这是我的代码
ReduxFormDropdown.js
//...
const genders = [
{
key: '1',
text: 'Male',
value: 'male',
},
{
key: '2',
text: 'Female',
value: 'female',
},
{
key: '3',
text: 'Other',
value: 'other',
},
]
//...
<Form.Field>
<Field
name="gender"
component={ReduxFormDropdown}
placeholder="Gender"
options={genders}
/>
</Form.Field>
//...
Form.js
Person
当我选择并且当我检查redux dev工具时,我发现值没有得到更新(状态相等)时,值没有改变。我错过了什么?感谢您的回复。
答案 0 :(得分:3)
我强调了最重要的一句话:
<Dropdown
onChange={(param, data) => props.input.onChange(data.value)}
{...input}
/>
props.input
和input
是包含onChange
函数的相同对象。因此,当您将input
对象传播到Dropdown
组件时,您将覆盖onChange
处理程序。
正确用法是:
<Dropdown
{...input}
onChange={(param, data) => props.input.onChange(data.value)}
/>