У меня есть форма, которая приходит в интерфейс в модальном.Это форма, которая уже заполнена, поскольку она предназначена для редактирования информации, которая уже есть.
Итак, я извлекаю информацию из этой формы в 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,
});
}
С учетом вышесказанного я также пытаюсь изменить информацию, и она вернется к исходным значениям, если я не отправлю форму.