redux VS redux-saga

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

redux

A JS library for predictable global state management (by reduxjs)

redux-saga

An alternative side effect model for Redux apps (by redux-saga)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
redux redux-saga
268 42
60,449 22,506
0.3% 0.0%
9.0 4.0
9 days ago 14 days ago
TypeScript JavaScript
MIT License MIT License
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.

redux

Posts with mentions or reviews of redux. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-12.
  • A Comprehensive Guide to React State Management
    3 projects | dev.to | 12 Apr 2024
    Redux
  • Full Stack Web Development Concept map
    11 projects | dev.to | 23 Mar 2024
    redux - Redux is a key tool used in managing state across an application. This can be used with any web technology including React, Vue and Angular docs
  • State Management Nx React Native/Expo Apps with TanStack Query and Redux
    8 projects | dev.to | 17 Feb 2024
    Redux is a client-state library.
  • Redux 101
    6 projects | dev.to | 3 Jan 2024
  • The 20 most used React libraries
    9 projects | dev.to | 29 Dec 2023
    react-redux: A powerhouse for efficient state management and data flow control. Learn more
  • React State Management in 2024
    5 projects | dev.to | 8 Dec 2023
    Reducer-based: requires dispatching actions to update a big centralised state, often called a “single source of truth”. In this group, we have Redux and Zustand.
  • Redux Toolkit 2.0: new features, faster perf, smaller bundle sizes (plus major versions for all Redux family packages!)
    7 projects | /r/reactjs | 5 Dec 2023
  • Redux Toolkit 2.0: new features, faster perf, smaller bundle sizes, and more
    6 projects | news.ycombinator.com | 4 Dec 2023
    I am _thrilled_ to announce that:

    Redux Toolkit 2.0 is LIVE!!!

    - https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0

    This major version has new features, faster perf, smaller bundle size, and removes deprecated options.

    It's accompanied by majors for all our Redux family packages

    ## RTK 2.0:

    - a new `combineSlices` method for lazy-loading reducers - Updates to `createSlice` to include a `selectors` field and allow defining thunks inside

    - Immer 10 w/ faster updates

    - Removal of deprecated options

    See the migration guide:

    - https://redux.js.org/usage/migrations/migrating-rtk-2

    All of the Redux libraries now have modernized packaging with full ESM/CJS compat. They also ship modern JS (no transpiling for IE11), which means smaller bundle sizes.

    We've also done byte-shaving work to shrink the bundles (extracting error messages, de-duping imports)

    ## Redux core 5.0:

    - The TS conversion we did in 2019!

    - Action types _must_ be strings

    - `UnknownAction` as the default action type

    - Better preloaded state types

    - Internal subscription improvements

    - Still marks `createStore` as deprecated!

    - https://github.com/reduxjs/redux/releases/tag/v5.0.0

    ## React-Redux 9.0:

    - *Now requires React 18 and RTK 2.0 / Redux 5.0*

  • HTML Data Attributes: One of the Original State Management Libraries
    5 projects | dev.to | 29 Nov 2023
    DEV is a Rails monolith, which uses Preact in the front-end using islands architecture. The reason why I mention all this is that it's not a full-stack JavaScript application, and there is no state management library like Redux or Zustand in use. The data store, for the most part on the front end, is all data attributes.
  • Blogged Answers: My Experience Modernizing Packages to ESM
    2 projects | news.ycombinator.com | 25 Nov 2023
    Oh hey, that's my post!

    (yes I spend too much time refreshing HN :) )

    FWIW I did end up with a packaging combination that seems to work sufficiently. I never did fix the "FalseCJS" issue that `are-the-types-wrong` is detecting. I played with double-emitting TS typedefs, and the `tsup` tool _does_ actually have support for that now (added by Andrew Branch from the TS team). So it might be more feasible now. But ultimately I decided I was tired of messing with packaging setup and that what I've got is good enough. (hopefully)

    We're actually about to launch Redux Toolkit 2.0 and Redux 5.0 this week, assuming the last couple pieces come together. Here's the latest RCs - you can see the current `package.json` files in there:

    - https://github.com/reduxjs/redux-toolkit/releases/tag/v2.0.0...

    - https://github.com/reduxjs/redux/releases/tag/v5.0.0-rc.1

redux-saga

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 2024-01-04.
  • Main-Thread-Scheduling
    4 projects | news.ycombinator.com | 4 Jan 2024
  • Creating Own Chat GPT
    9 projects | dev.to | 15 Sep 2023
    For the backend, we chose Python, Django Rest Framework. On the frontend, React, Redux, Saga, Sass. Let’s start with the backend, which was managed by Yegor. He writes about the server part of the project himself.
  • Internals of Async / Await in JavaScript
    5 projects | news.ycombinator.com | 1 Sep 2023
    The whole article properly the best explanation of generators I have come across. This quote stuck out:

    > Generators are a special type of function that can return multiple pieces of data during its execution. Traditional functions can return multiple data by using structures like Arrays and Objects, but Generators return data whenever the caller asks for it, and they pause execution until they are asked to continue to generate and return more data.

    Applications of generators? I have only used Redux-Saga[1]. Can't even think of other libraries that use them, but would be interested in learning.

    [1]: https://redux-saga.js.org/

  • Generators in the wild
    3 projects | dev.to | 6 Aug 2023
    redux-saga. The most popular effects library in js
  • I don't get why I should use Redux
    6 projects | /r/webdev | 9 Mar 2023
    Redux can be extended with a lot of other packages. For example with a side effect manager, you can separate side effects from your business logic, help with error handling and in the same process make testing of side effects a lot easier.
  • What Is The Best Name for This Synchronous Function?
    4 projects | /r/learnjavascript | 3 Feb 2023
    Consumer vs. Producer: Check out Redux Saga
  • Front-end Guide
    54 projects | dev.to | 23 Nov 2022
    Your app will likely have to deal with async calls like making remote API requests. redux-thunk and redux-saga were created to solve those problems. They may take some time to understand as they require understanding of functional programming and generators. Our advice is to deal with it only when you need it.
  • Why Would Anyone Need JavaScript Generator Functions?
    19 projects | news.ycombinator.com | 7 Nov 2022
    Hey thanks for the thoughtful response.

    I agree with everything you mentioned here. I'd love to continue to chat with you about how to make testing sagas better.

    If you'd like, it would be great if we could move this convo to https://github.com/redux-saga/redux-saga/discussions/2337

  • What is the best plan to catch data from multiple api calls and display some data
    2 projects | /r/reactjs | 16 Oct 2022
    If there are dependent API calls, you can probably look at redux-saga. It’s one of the best libraries out there to manage the data.
  • [AskJS] Where will I need to write generator functions?
    4 projects | /r/javascript | 17 Sep 2022
    redux-saga makes use of them in really nice way. https://redux-saga.js.org/ That’s where I’ve used them the most.

What are some alternatives?

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

zustand - 🐻 Bear necessities for state management in React

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

remix - Build Better Websites. Create modern, resilient user experiences with web fundamentals.

react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]

SWR - React Hooks for Data Fetching

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

valtio - 💊 Valtio makes proxy-state simple for React and Vanilla

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

swift-composable-architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.

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