reselect VS redux-saga

Compare reselect vs redux-saga and see what are their differences.


Selector library for Redux (by reduxjs)


An alternative side effect model for Redux apps (by redux-saga)
Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
reselect redux-saga
29 29
18,607 22,192
0.3% 0.3%
8.4 5.1
18 days ago 6 days ago
TypeScript JavaScript
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of reselect. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-30.


Posts with mentions or reviews of redux-saga. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-13.
  • Inflist, an experiment using PureScript and React
    8 projects | | 13 May 2022
    The most “unstable” part is probably the logic dealing with the storage. There is a persistence layer inside Inflist passed around as a dependency, and its only implementation is using the Local Storage as anticipated. This layer is executed directly through the React components using native hooks like useAff, and thus managed by the React lifecycle events. This can definitely be improved using a more solid approach from libraries like Redux-Saga.
  • How to handle form state with Formik and Redux-Saga
    2 projects | | 26 Apr 2022
    Edit: FYI this GitHub issue on the redux-saga repo seems most pertinent to my question, and while there is much written there it doesn't seem to arrive at an agreed best practice.
  • I Avoid Async/Await
    7 projects | | 16 Apr 2022
    I was really hoping this article would discuss the benefits of using raw generators over async/await.

    By using async/await, we are inherently limited by the flow control because we are forced into await resolving promises.

    This is why libraries like redux-saga[0] or cofx[1] use generators.

  • Functional core / Imperative shell arch example
    2 projects | | 1 Apr 2022
  • Using the fp-ts TaskEither monad with Redux-Saga
    2 projects | | 17 Jan 2022
    I recently found myself using it inside Redux-Saga, executing functions returning a TaskEither using the call effect. Now, it's actually quite easy to do so since TaskEither is just a function returning a Promise. At first glance we can just do something like:
  • getState in redux-saga?
    1 project | | 7 Jan 2022
    I'm trying to use redux-saga to handle the deserialization, as a side effect. On first page load, I dispatch an action:
  • React Native - Beautiful Horoscope App
    4 projects | | 2 Jan 2022
    Redux is one of the most popular state management framework for React application and Redux Saga helps to manage the side effect asynchronously. You may learn more on Redux and Redux Saga. (I am still beginner on these! 😃). Their explanation are pretty clear but real-life experience is always better than reading book!
  • Supervising XState Machines with Redux
    1 project | | 10 Nov 2021
    Redux introduced me to the concept of a single state store for managing a front-end application's state. It was a fantastic library to help maintain large and complex state in an app built with ReactJS. Combined with redux-saga for managing network requests and other side-effects it made a pretty powerful tool. However as soon I saw XState in action I dropped all my "religious" convictions about a single state store and was sold on the idea of statecharts.
  • Clean React-Redux, Redux-Saga client-side solution.
    4 projects | | 13 Oct 2021
    And to make the application even more robust I am using Redux-Saga, which is basically a Redux side effect manager. Saga enables approaches to take parallel executions, task concurrency, task cancellation and more. You can also control threads with normal Redux actions. Comparing with React-Thunk, Saga it may seems complex at first but is a powerful solution. (But that's a talk for another post right ;) )
  • React Boilerplate For React Native
    8 projects | | 11 Oct 2021
    Redux Saga

What are some alternatives?

When comparing reselect and redux-saga you can also consider the following projects:

redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development

rtk-query - Data fetching and caching addon for Redux Toolkit

react-query - ⚛️ Hooks for fetching, caching and updating asynchronous data in React

axios - Promise based HTTP client for the browser and node.js

SWR - React Hooks for Data Fetching

Next.js - The React Framework

Immer - Create the next immutable state by mutating the current one

redux-thunk - Thunk middleware for Redux

recompose - A React utility belt for function components and higher-order components.

Angular - The modern web developer’s platform

effector-react - Business logic with ease ☄️