The Saga is not dead - Bringing modern DX (Promises) to Redux-Saga with Saga-Toolkit #5193
Replies: 3 comments 2 replies
-
|
Yeah, that was always a pain point with sagas. Out of curiosity, have you looked at the listener middleware? We specifically designed it to replace most saga use cases, improve TS support, etc: |
Beta Was this translation helpful? Give feedback.
-
|
Great project! Saga + RTK unwrap() is perfect for complex enterprise flows. TypeScript support is excellent. Race condition handling? AbortController? Error boundaries? Yes, still using Saga 2026 for 100+ saga orchestration. RTK Query can't replace that. StackBlitz sold me! 🚀 |
Beta Was this translation helpful? Give feedback.
-
|
🔥 omg thank you - this is what I've always been looking for! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone!
I know the current trend is moving towards React Query or RTK Query, but many of us still work on complex enterprise applications where Redux-Saga is irreplaceable for handling complicated business logic, race conditions, and long-running side effects.
However, we all know the biggest pain point: Getting feedback from a Saga back to the UI.
We’ve all been there: dispatching an action, then setting up a useEffect just to watch a "status" field in the store to trigger a redirect or a notification. It feels clunky and creates unnecessary boilerplate.
To solve this, I’ve created saga-toolkit.
It’s a lightweight bridge between RTK and Saga that brings the "Promise-based" experience we love in createAsyncThunk to the world of Sagas.
Key features:
Show me the code:
You can check out the Example Project in the repo to see it in action.
Try it out immediately:
I've also prepared a StackBlitz demo where you can see how clean the UI code becomes when you can finally unwrap() a Saga call.
I’d love to hear your thoughts! Is Redux-Saga still part of your stack in 2026? How do you handle the Saga-to-UI communication?
Check it out here: github.com
Similar discussions
I've looked into previous discussions regarding Saga-UI communication (like the common 'callback in action' pattern or older libraries like redux-saga-promise). While those exist, they often feel disconnected from the modern RTK workflow or lack first-class TypeScript support for the return values. I built this to feel like a native part of the Redux Toolkit experience.
Beta Was this translation helpful? Give feedback.
All reactions