Sagas are a great power tool... and 95% of Redux apps don't actually need them. Using them just for basic data fetching is overkill. Sagas are most useful when you need to do complex async logic, like cancellation, debouncing, and decoupled "background-thread"-like computations.
Thunks are sufficient for most use cases, but the main thing they can't do is respond to dispatched actions.
For more info, see the Redux FAQ entry on choosing an async middleware:
Thunks are sufficient for most use cases, but the main thing they can't do is respond to dispatched actions.
For more info, see the Redux FAQ entry on choosing an async middleware:
https://redux.js.org/faq/actions#what-async-middleware-shoul...