путаница с действиями в Redux - PullRequest
0 голосов
/ 08 февраля 2019

Я не могу выяснить, являются ли действия Redux синхронными или асинхронными.Учтите это:

addBook () => {
  console.log( "current books:  ",this.props.books );

  const book = {
      id: 3,
      title: "Percy Jackson"
  };

  this.props.addBook(book); // firing off a new action [ is it synchronous or asynchronous ]

  console.log( "updated books:  ",this.props.books ); // shouldn't these be new props
}

Сверху оба current books и updated books одинаковы, хотя пользовательский интерфейс обновлен, и я предполагаю, что новые реквизиты из магазина также передаются этому компоненту через mapStateToPropsМетод.

Чего мне не хватает?

1 Ответ

0 голосов
/ 08 февраля 2019

Запуск действия происходит синхронно.Однако редуктор является асинхронным.Вы получаете одно и то же значение до и после, потому что все это происходит в одном, синхронном цикле рендеринга.После того, как редуктор сделает свое дело, ваш компонент обновляется, как вы видели.В этом случае вы никогда не увидите, чтобы операторы console.log отражали два разных состояния.

...