Как выполнить экшен после выполнения другого екшена?

Есть 2 экшена. Предположим action1 и action2. Action1 - асинхронное получение данных с сервера, action2 - выделение одного объекта в массиве полученных данных.
В жизненном цикле приложения может возникнуть ситуация, когда action2 выполняется первее action1. Как заставить action2 подождать выполнение action1?
Буду благодарен за помощь.
  • Вопрос задан
  • 381 просмотр
Решения вопроса 1
Единственный способ нативно в редаксе выполнять экшены в определенном порядке - это thunk
functiob action1Creator() {
  return (dispatch, getState) => {
    fetch(...)
      .then(JSON.parse)
      .then((response) => dispatch(action2Creator(response)))
    ;
  };
}

function action2Creator(response) {
  return { type: 'SOME', data: response.data[12] };
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы