Redux-Form устанавливает состояние компонента на основе initialValues - PullRequest
0 голосов
/ 01 июля 2018

У меня есть форма реакции, которая динамически генерируется с помощью данных из БД. Проблема, которую я сейчас пытаюсь решить, заключается в том, как включить / отключить «дочерние» входы на основе «родительского» ввода (обычно это флажок). Мой план был во время рендеринга формы, я хотел бы создать настройки состояния компонента (parentClicked1, parentClicked2 и т. Д.), Основанные на initialValues, которые заполняются избыточной формой. Имя параметра состояния компонента будет соответствовать имени родительского ввода и будет передано методу onClick. например:

const renderSettings = ({ fields, meta: { touched, error, submitFailed } }) => (
  <div>
    {fields.map((setting, index) => (
      <Field
        name={`${setting}.value`}
        type={fields.get(index).inputType}
        component={renderField}
        label={fields.get(index).labelText}
        format={(value, name) => {
          return setBoolValue(value)
        }}
        onClick={fields.get(index).isParent ? this.onClick(fields.get(index).settingName) : null}
        disabled={fields.get(index).isChild ? this.state[fields.get(index).parentSettingName] : null}
      />
    ))}
  </div>
);

У onClick будет что-то простое:

onClick(e, stateKey){
  this.setState({[stateKey]: e.target.value});
}

Проблема заключается в установке начального значения состояния компонента на основе initialValue, заполненного приставной формой. Я попытался установить в ComponentDidMount и ComponentDidUpdate, но ни один, кажется, не заполняется. Как бы я поступил так?

1 Ответ

0 голосов
/ 11 июля 2018

Вы смотрели на пример инициализации из состояния в редукционной форме? https://redux -form.com / 7.4.2 / примеры / initializefromstate / Если ответ из вашей базы данных сопоставлен с именем вашего поля в родительском элементе, он должен заполнить правильные данные в дочернем элементе.

Вы можете использовать formValueSelector из избыточной формы, чтобы проверить, щелкается ли родительский элемент для заполнения дочернего компонента.

...