redux-saga
Middleware de Redux para gestionar efectos secundarios (llamadas a API asíncronas, navegación) mediante generadores de ES6. Yassine Elouafi, 2015. Potente pero complejo.
Las sagas son funciones generadoras que "esperan" acciones y ejecutan flujos asíncronos. yield call(api.fetchUser, id) se puede testear sin llamar realmente a la API. Competencia: redux-thunk (más simple, menos potente), redux-observable (basado en RxJS). Perdió terreno cuando Redux Toolkit + RTK Query incorporaron soporte asíncrono de serie en 2020. Hoy es sobre todo legado: los stacks modernos de React suelen saltar directamente a TanStack Query en lugar de Redux + middleware.