@undefined_title

Для чего передавать параметр в функцию next из redux middleware?

Как я понимаю вызывать next мы должны когда наш усилитель выполнил все нужные операции, и параметром ожидается екшин, мы передаем екшин для того чтобы слейдущий мидлвар понимал с каким екшином работать? если мы обьект екшина изменим, то к редьюсеру он прийдет измененным? екшин дойдет к редюьсеру только когда он прошел через все подключенные мидлвары, или может еще что то на это влияет?
  • Вопрос задан
  • 453 просмотра
Решения вопроса 1
devellopah
@devellopah
функция next - это следующая в очереди миддвара, если таковой нет, то это - store.dispatch
твоя миддвара принимает action, который эксплуатирует, а затем передаёт следующей миддваре.
Чтобы передать дальше, твоя текущая миддвара возвращает вызов next c action в качестве аргумента, в противном случае action не дойдет до reducer(я так понимаю, возможно кто-то поправит).
миддвары - это серия функций, которые по очереди работают с экшеном(обычно в миддварах делают сайд-эффекты, типа вывод в консоли экшена или запрос на получение каких-то данных).
экшен задиспатчен -> серия миддлвар(работают с экшеном) -> экшен дошёл до редьюсера.

примерно такая же схема как у миддлвар в express,

приходит запрос(request) -> серия миддлвар(работают с request, формируют response) -> возвращается ответ(response)
Если нет вызвать next() в миддваре express, приложение подвиснет(если не ошибаюсь).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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