redux-saga
Middleware do Redux para lidar com efeitos colaterais (chamadas de API assíncronas, navegação) usando generators do ES6. Yassine Elouafi, 2015. Poderoso, porém complexo.
Sagas são funções generator que "esperam" ações e executam fluxos assíncronos. yield call(api.fetchUser, id) é testável sem chamar a API de verdade. Concorrentes: redux-thunk (mais simples, menos poderoso) e redux-observable (baseado em RxJS). Perdeu terreno quando o Redux Toolkit + RTK Query trouxe suporte assíncrono embutido em 2020. Hoje é sobretudo legado. Stacks React modernas muitas vezes vão direto para o TanStack Query em vez de Redux + middleware.