0
redux-formの使用6.0.1redux-form:ノーマライザで変更をディスパッチする方法
私は2つのフィールドを持つフォームを持っています。 1つはセレクタ、もう1つは入力です。
<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" />
私は入力フィールドの内容に基づいて入力内容を変更したいと思っています。私はそれがここで行うことができる方法について読む:https://github.com/erikras/redux-form/issues/442
をだから私は変更を派遣して先に行って試してみるために、手動で
は<button type="button" onClick={() => dispatch(change('TranslationDetail', 'toValue', 'foo')) }>dispatch</button>
これは動作しますが、これは少なくとも推奨方法でした。 ノーマライザを使用しようとすると、「Uncaught ReferenceError:変更が定義されていません」というエラーが発生しました。セレクタの状態に基づいてフィールドの値を変更するには、ノーマライザをどのように変更する必要がありますか?
const normalizeLanguage = (value, previousValue, dispatch) => {
if (!value) {
return value
}
console.log(value)
dispatch(change('TranslationDetail', 'toValue', value))
return value
}
export default normalizeLanguage