redux-saga
Middleware Reduksa do obsługi efektów ubocznych (asynchroniczne wywołania API, nawigacja) za pomocą generatorów ES6. Yassine Elouafi, 2015. Potężne, ale skomplikowane.
Sagi to funkcje generatorowe, które „czekają” na akcje i uruchamiają przepływy asynchroniczne. yield call(api.fetchUser, id) da się przetestować bez faktycznego wywoływania API. Konkurenci: redux-thunk (prostszy, mniej potężny) i redux-observable (oparty na RxJS). Straciło na znaczeniu, gdy Redux Toolkit z RTK Query dały w 2020 roku wbudowaną obsługę asynchroniczności. Dziś głównie legacy. Nowoczesne stosy Reacta często przechodzą od razu na TanStack Query zamiast Redux plus middleware.