React / Redux / Thunk форма потока данных - PullRequest
0 голосов
/ 14 июня 2019

после нескольких видео курсов, и я запутался в том, как управлять данными в форме, используя 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 });
  }
}

Спасибо за разъяснения

...