Как я могу загрузить данные для редактирования на ReduxForm? - PullRequest
1 голос
/ 06 марта 2019

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

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

Это входные данные и способ загрузки данных:

class PassengerFormModal extends Component {

  componentDidMount() {
    // HERE I LOAD THE DATA THAT WILL BE PRESENT WHEN THE MODAL IS VISIBLE
    const {
      passengerInfo,
      editPassengerDataActionActionHandler,
    } = this.props;

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

  const phoneField = () => (
    <TextInput
      onFocus={onFocus}
      value={editPassengerData.phone}
      onChangeText={phone => editPassengerDataActionActionHandler({ phone })}
    />
  );
  ...
  <Field name="phone" component={this.phoneField} /> // Redux Form input
  ...
  <TouchableOpacity
    onPress={submitForm}
  >
} 

export default compose(
  reduxForm({ form: 'PassengerFormModal' }),
  connect(
    store => ({
      editPassengerData: store.popupsModals.editPassengerData,
    }),
    dispatch => ({
      editPassengerDataActionActionHandler: data => {
        dispatch(editPassengerDataAction(data));
      },
    }),
  ),
)(PassengerFormModal);

Пока что каждый раз, когда форма скрывается и снова показывается, значения, которые я получаю от пропеллера passengerInfo, присутствуют. Но я не могу их редактировать. У меня есть этот обработчик действия в onChangeText TextInput -> onChangeText={phone => editPassengerDataActionActionHandler({ phone })}, который я хотел бы отправить отредактированные значения в редуктор или есть способ сделать это с помощью формы избыточного числа?

Я застрял здесь на некоторое время.

...