Middleware находится между отправкой действия и достижением действия редьюсером, позволяя вам перехватывать действия для обработки побочных эффектов (асинхронные вызовы API, логирование) — чего редьюсеры не могут делать, потому что они должны оставаться чистыми. Thunks — самое распространённое middleware, позволяющее использовать асинхронную логику.
Где находится middleware
dispatch(action) → [ middleware 1 → middleware 2 → ... ] → reducer → store
(can inspect, modify, delay, or stop actions; do side effects)
