Причина, по которой React setState
имеет параметр обратного вызова, заключается в том, что обновления состояния React являются асинхронными.Необходимо выполнить код, который зависит от обновленного состояния:
this.setState(..., () => {
console.log('state updated');
});
Это не относится к Redux.dispatch
является синхронным, и поэтому не имеет смысла иметь обратный вызов там.Ожидается, что действие было отправлено сразу после вызова dispatch
:
dispatch(...);
console.log('store updated');
Разве метод отправки не отвечает за функцию setState?
Это не так.Redux store является альтернативой состоянию компонента React.Он не использует setState
внутри.