Redux формы очистки значений поля

Я использую избыточность, чтобы скрыть и показать компоненты, основанные на значении. Когда я переключаюсь между вариантами, я хотел бы очистить значения.

Как очистить значения из состояния при переключении между полями, которые скрываются и отображаются?

Каков рекомендуемый способ проверки каждого поля?

Можно ли полностью вывести поле из состояния?

<div>
    <form>
      <Fields
       component={RadioButtonGroupField}
       names={['radioButtonGroup', 'nameTextField', 'nickNameTextField']}
      />
    </ form>
</div>

function RadioButtonGroupField(fields) {
    return(
      <div>
        <RadioButtonGroupComponent
          {...fields.radioButtonGroup.input}
          {...fields.radioButtonGroup.meta}
        />
        {
          (fields.radioButtonGroup.input.value === 'name' ||
          fields.radioButtonGroup.input.value === 'both') &&
          <NameTextFieldComponent
            {...fields.radioButtonGroup.input}
            {...fields.radioButtonGroup.meta}
          />
        }
        {
          (fields.radioButtonGroup.input.value === 'nickname' ||
          fields.radioButtonGroup.input.value === 'both') &&
           <NicknameTextFieldComponent
            {...fields.radioButtonGroup.input}
            {...fields.radioButtonGroup.meta}
          />
        }
      </div>
     );
  }

1 ответ

Почему это важно, если другое значение находится в состоянии? Похоже, что вы могли бы, после отправки, взглянуть на ваше радио значение, чтобы определить, какие из других значений использовать.

Однако, чтобы ответить на ваш вопрос, вы могли бы поставить onChange слушатель на вашем радио-поле, и (не забывая вызывать fields.radioButtonGroup.input.onChange()) отправить change(value==='name' ? 'nickname' : 'name', null) действие, чтобы уничтожить значение на входе, который вы хотите игнорировать.

Другие вопросы по тегам