Sure, Saga is an old idea. But State Machine and State pattern, that breathe Redux, are even older concepts. And the paradigm of reusable components, the one that is at heart of React, exists since the dawn of software engineering. But that doesn’t help us here.

My point is, we shouldn’t couple business logic with 3rd party libraries. Esspecially, libraries that derive from UI. Think about: the fundamental reason why anyone would choose Redux Saga is that they have Redux on board. The only reason to choose Redux is that they use React.

Remove React from this equation, and this house of cards falls apart. If tomorrow we change React to Vue (or any other UI-solution), Redux and Redux-Saga would have to disappear from the application as well. The situation might seem like an exaggeration, but look at the core of the issue: when we couple the business logic with Redux-Saga, we inevitably couple it with React (read, UI).

With that being said, I am not advocating against Redux-Saga. I, personally, love this tool. But I am for using the tool properly. Its responsibility is not to handle business logic. It may help you manipulate the store, and that’s it.

Written by

Software Engineer with about 15 years of experience in front- and back-end web development, and I know how to cook this dish!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store