簡體   English   中英

redux-form:如何在規范化器中分發更改

[英]redux-form: how to dispatch change in normalizer

使用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" />

我想根據選擇字段的狀態來更改輸入更改的內容。 我在這里了解了如何完成此操作: 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

您可能缺少對change功能的引用。 在導入聲明中包括以下行:

import {change} from 'redux-form';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM