在redux-form onChange中的semantic-ui-react下拉列表没有用来更新状态

时间:2017-06-12 04:53:28

标签: redux-form semantic-ui-react

我遇到了一个问题,即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工具时,我发现值没有得到更新(状态相等)时,值没有改变。我错过了什么?感谢您的回复。

1 个答案:

答案 0 :(得分:3)

我强调了最重要的一句话:

<Dropdown
  onChange={(param, data) => props.input.onChange(data.value)}
  {...input}
/>

props.inputinput是包含onChange函数的相同对象。因此,当您将input对象传播到Dropdown组件时,您将覆盖onChange处理程序。

正确用法是:

<Dropdown
  {...input}
  onChange={(param, data) => props.input.onChange(data.value)}
/>