Подтвердить что ты не робот

Является ли store.dispatch в Redux синхронным или асинхронным

Я понимаю, что это основной вопрос, но мне не повезло найти ответ в другом месте.

Является store.dispatch синхронным или асинхронным в Redux?

В случае асинхронности есть возможность добавить обратный вызов после того, как действие было распространено, как это возможно с помощью React?

4b9b3361

Ответ 1

AFAIK, диспетчерское действие синхронно. Если вы хотите обратиться к асинхронному вызову, вы можете использовать thunk-middleware в redux, где отправка предоставляется как функция обратного вызова, которая вы можете ссылаться на свое усмотрение. Для получения дополнительной информации просмотрите этот ответ на SO самим автором: Как отправить действие Redux с тайм-аутом?

Ответ 2

Никто не знает лучше, чем сам код. =) Как видите, dispatch абсолютно синхронная. Единственным предупреждением здесь является то, что средства enhancers хранилища могут (и делают) заменить способ dispatch. Например, взгляните на энхансер applyMiddleware, он позволяет applyMiddleware промежуточное ПО, заменив метод dispatch по умолчанию собственной реализацией. Хотя я никогда не видел никакого Redux enhancer который бы на самом деле убрал синхронный характер dispatch

Ответ 3

На самом деле я попытался console.log до и после отправки действия и увидел, что при обращении к измененному значению оно не изменяется сразу. Как это может быть возможно...?