Как установить скрытые поля в форме редукса в реакции native?

Как установить скрытые поля в форме redux в реакции native?

i jsut не может найти способ, как это сделать. любая помощь?

Ответ 1

i закончил использовать это:

this.props.dispatch(change("FORM_NAME","FIELD_NAME","VALUE")) 

после запуска этого кода, форма создаст поле, если оно не существует

Ответ 2

Я столкнулся с той же проблемой. То, что я делаю, это объявить поле как это и установить высоту в 0. Это немного хаки, но это работает в моем случае.

<Field
    component={TextInput}
    name="departure_city_name"
    type="hidden"
    style={{ height: 0 }}
/>

И я изменяю значение следующим образом: this.props.change("departure_city_name", cityData.name);

Надеюсь, что это поможет.

Ответ 3

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

this.props.change('Field_name', value)

Ответ 4

Технически вам не нужно создавать поле type = hidden, потому что вы можете вызвать функцию change для "скрытого" поля, которое вы хотите изменить, если поле не существует. Redux-форма добавит его в состояние формы, как фактическое поле

MyForm = reduxForm({
  form: 'myForm'
})(MyForm)

MyForm = connect(
  state => ({
    initialValues: { areYouOk: 'no' }
  })
)(MyForm)

export default MyForm

Установили ли вы начальные значения или нет, вы всегда сможете вызвать функцию изменения с новым скрытым значением, и она все равно будет работать

  let MyForm = ({ submitHandler, change }) => {
    return (
      <form onSubmit={submitHandler}>
        <button
         onClick={() => {
           change('areYouOk', 'yes');
         }}
         label={'Yes'}
        />
      </form>
    );
  }