使用redux-form 6.0.1
我有一个包含2个字段的表单。一个是选择器,另一个是输入。
<Field name="toLanguage" component="select" normalize={normalizeLanguage}>
{languages.map(function(item) {
return <option key={item.id} value={item.name}>{item.display}</option>;
})}
</Field>
<Field name="toValue" component="input" type="text" placeholder="toLanguageString" />
我想根据select字段的状态更改输入更改的内容。我在这里阅读了如何完成这项工作:https://github.com/erikras/redux-form/issues/442
所以为了试一试,我继续手动调度更改
<button type="button" onClick={() => dispatch(change('TranslationDetail', 'toValue', 'foo')) }>dispatch</button>
这样可行,但这是推荐最少的方法。 当我尝试使用规范化器时,我遇到了一个错误“未捕获的ReferenceError:未定义更改”。我应该如何更改我的规范化器以根据选择器的状态更改字段的值?
const normalizeLanguage = (value, previousValue, dispatch) => {
if (!value) {
return value
}
console.log(value)
dispatch(change('TranslationDetail', 'toValue', value))
return value
}
export default normalizeLanguage
答案 0 :(得分:1)
您可能缺少对change
功能的引用。在导入声明中包含以下行:
import {change} from 'redux-form';