после нескольких видео курсов, и я запутался в том, как управлять данными в форме, используя React / Redux и Thunk.
Я хочу, чтобы все данные в форме были локальными и записывались в хранилище при нажатии кнопки «Сохранить». Так что я не использую ни Formik, ни любую подобную библиотеку.
Как я понял, все данные должны поступать от редукторов, поэтому мой редуктор отправляет исходный пустой объект на mapStateToProps
. Теперь, когда я должен передать данные из реквизита в локальное состояние компонента?
Мне нужно сделать это до componentDidMount
, потому что мои входные данные привязаны к объекту данных в состоянии. Конструктор тоже не самое подходящее место.
Могу ли я сделать напрямую:
state = {
data: this.props.data,
};
А может, скорее?:
state = {
data: {...this.props.data}
};
И когда это форма редактирования, я вызываю API в componendDidMount
, как мне обновить данные в форме из API? Это правильно?:
componentDidUpdate() {
if (this.props.data && this.state.data !== this.props.data) {
this.setState({ data: this.props.data });
}
}
Спасибо за разъяснения