Я пытаюсь загрузить некоторые данные в избыточную форму, чтобы я мог ее отредактировать.
Я уже загружаю его с редуктором, кроме формы редукса. Итак, во-первых: я не знаю, является ли это правильным способом, или, если 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 })}
, который я хотел бы отправить отредактированные значения в редуктор или есть способ сделать это с помощью формы избыточного числа?
Я застрял здесь на некоторое время.