Как я могу заменить поля, заполненные локальным состоянием, и установить вместо них форму Redux? - PullRequest
1 голос
/ 06 марта 2019

У меня есть форма, которая приходит в интерфейс в модальном.Это форма, которая уже заполнена, поскольку она предназначена для редактирования информации, которая уже есть.

Итак, я извлекаю информацию из этой формы в componentDidMount:

componentDidMount() {
    const { passengerInfo } = this.props;

    if (passengerInfo) {
      this.setState({
        id: passengerInfo.id,
        address: passengerInfo.address,
      });
    }
  }

Затем я устанавливаю эту информацию в полях:

   const addressField = () => (
      <AddEditFormInputs
        inputName="address"
        onChangeText={address => this.setState({ address })}
        textStateValue={address}
      />
    );
    ...
    <Field name="address" component={addressField} />

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

Проблема, с которой я столкнулсяв том случае, если я закрою и снова открою этот модал, то поле будет восстановлено.Я думаю, это потому, что я устанавливаю состояние на componentDidMount.

Итак, что я могу сделать, чтобы сохранить состояние формы с помощью Redux-Form?

Как вы видите, я уже использую Redux-Form здесь -> <Field name="address" component={addressField} />, но мне нужнонемного

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

РЕДАКТИРОВАТЬ

Что-то, что я забыл опубликовать, так это то, что я также могу установить информацию об этих полях, используя данные, поступающие из избыточного хранилища.Например:

  componentDidMount() {
    const {
      passengerInfo,
    } = this.props;

    if (passengerInfo) {
      editPassengerDataActionActionHandler({
        id: passengerInfo.id,
        address: passengerInfo.address,
      });
  }

С учетом вышесказанного я также пытаюсь изменить информацию, и она вернется к исходным значениям, если я не отправлю форму.

...