reduxjs logo


Predictable state container for JavaScript apps (by reduxjs)


Basic redux repo stats
6 days ago

reduxjs/redux is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

Redux Alternatives

Similar projects and alternatives to redux
  • GitHub repo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • GitHub repo TypeScript-Website

    The Website and web infrastructure for learning TypeScript

  • GitHub repo Next.js

    The React Framework

  • GitHub repo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • GitHub repo angular-styleguide

    Angular Style Guide: A starting point for Angular development teams to provide consistency through good practices.

  • GitHub repo redux-toolkit

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

  • GitHub repo cra-template-redux

    The official Redux+JS template for Create React App

  • GitHub repo use-context-selector

    React useContextSelector hook in userland

  • GitHub repo rtk-query

    Experimental data fetching and caching addon for Redux Toolkit

  • GitHub repo sphinx-tabs

    Tabbed views for Sphinx

  • GitHub repo axios

    Promise based HTTP client for the browser and node.js

  • GitHub repo AngularJS

    AngularJS - HTML enhanced for web apps!

  • GitHub repo html5-boilerplate

    A professional front-end template for building fast, robust, and adaptable web apps or sites.

  • GitHub repo Koa

    Expressive middleware for node.js using ES2017 async functions

  • GitHub repo lighthouse

    Automated auditing, performance metrics, and best practices for the web.

  • GitHub repo GreenSock-JS

    GreenSock's GSAP JavaScript animation library (including Draggable).

  • GitHub repo Bacon

    Functional reactive programming library for TypeScript and JavaScript

  • GitHub repo Konva

    Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.

  • GitHub repo ractive

    Next-generation DOM manipulation

  • GitHub repo XO

    ❤️ JavaScript/TypeScript linter (ESLint wrapper) with great defaults

NOTE: The number of mentions on this list indicates mentions on common posts. Hence, a higher number means a better redux alternative or higher similarity.


Posts where redux has been mentioned. We have used some of these posts to build our list of alternatives and similar projects - the last one was on 2021-04-13.
  • Cousins playing nicely: Experimenting with NgRx Store and RTK Query | 2021-04-13
    Redux provides state management that has been widely used across many different web ecosystems for a long time. NgRx provides a more opinionated, batteries-included framework for managing state and side effects in the Angular ecosystem based on the Redux pattern. Redux Toolkit provides users of Redux the same batteries-included approach with conveniences for setting up state management and side effects. The Redux Toolkit (RTK) team has recently released RTK Query, described as "an advanced data fetching and caching tool, designed to simplify common cases for loading data in a web application", built on top of Redux Toolkit and Redux internally. When I first read the documentation for RTK Query, it immediately piqued my interest in a few ways:
  • Asynchronous Redux using Redux Thunk | 2021-04-11
    Redux is a great tool for managing state in large scale applications. It has a single state container called the store, which can be managed using actions and reducers. With Redux, your state is accessible throughout your application tree using dispatchers.
  • Create your own state management (part 1) | 2021-04-11
    In this article, it is assumed that you have already known React, Redux basic and/or other state management libraries.
  • What is Redux? | 2021-04-09
    In general, I think Redux is a great state management tool. At first, it can be a bit confusing but as with most things, the more you use it the easier it gets to understand. The official Rexux documentation has lots of great examples, tutorials, and best practices for beginners and can help you get set up fairly easily.
  • Would Redux survive without its maintainers high level of engagement? | 2021-04-07
    Dan Abramov and Andrew Clark developed the initial prototypes of Redux in May-July 2015. Dan did his "Hot Reloading" demo at React Europe on July 5, 2015, and released Redux 1.0 on August 14, 2015.
  • Top 5 React state management libraries in early 2021 | 2021-04-05
  • React Stack 2021 | 2021-04-04
    Redux: State management libraries help us to manage the data in our application. The new official Redux Toolkit is excellent and is the recommended approach to use Redux in 2021. If you are going to use Redux, be sure to check those out. Other alternatives available MobX, Recoil and also using React hooks (useContext + useReducer)
  • JavaScript Influencers to Follow in 2021🤩 | 2021-04-01
    Projects: facebook/react, reduxjs/redux, facebook/create-react-app, reduxjs/redux-devtools, react-dnd/react-dnd, paularmstrong/normalizr
  • When to use Redux vs Context API | 2021-03-28
    Docs improvements help everyone, and they're a great way to contribute! (I got my start with Redux by offering to write a "Redux FAQ" page for the docs.)
  • Shelly: under the hood | 2021-03-25
    For the skeleton of the application, we've made a popular choice, that is React. Nothing non-standard, though as the application has grown, we've seen that our reliance on Context API to manage state has reached its limits. That's why we're considering porting that aspect to Redux.
  • Build better components with React. | 2021-03-25
    We create a withStudents component which accepts any component as argument and supplies data to it in the form of props. The wrapper component withStudents returns the supplied component by wrapping it in a container component, it does not alter the argument component in any way. HOC are pure functions with no side-effects. The syntax above will look familiar to you if you have worked with redux before.
  • Comparing Svelte and React | 2021-03-24
    That's wrong. Dan created Redux while he was actually unemployed. I'd have to check the exact timeline, but I believe he left Stampsy in late 2014 or early 2015, and was actually getting some funding from an OSS collective-type thing while he developed Redux in preparation for React Europe.

    Redux was developed in June/July 2015, and demoed at React Europe on July 5, 2015 [0].

    Redux 1.0 was released on Aug 14, 2015 [1].

    Per the tweet linked from that page [2], Dan didn't join Facebook until November 2015, well after Redux had been released.

    So, he most definitely was _not_ working at FB when he developed Redux.




  • How to Use Redux to Manage State | 2021-03-24
    > From what I gather, your ask is to add information about the usage of the toolkit and steer people towards that. Is that correct? If so, I don't mind adding it, but I think the existing information is helpful.

    Basically, yes. The point is we want people to know that writing object spreads and action constants by hand is _not_ how they're supposed to really write Redux today, and that RTK both exists and is the standard approach for writing Redux logic.

    Per the "Quick Start/Getting Started" page: the point of that page is not to teach Redux or RTK. It's just the simplest possible example to show what the syntax looks like. _Learning_ this material is why we have the extensive "Essentials" and "Fundamentals" tutorials. Frankly, if having those snippets in the "Getting Started" page is confusing, I'd rather _remove_ those snippets and point more emphatically over to the tutorials.

    > you're not really learning Redux, you're learning the abstraction that's built on top of Redux

    Yes, and that's also the point. RTK _is_ now "Redux". Or rather, it's the form of Redux we want people to learn. Yes, it _is_ a set of abstractions, and some people may find it easier to learn if they understand the underlying principles and techniques first. That's why the "Fundamentals" tutorial exists. But, many other people just want to dive straight into writing working code and see "how to use it". That's why we have the "Essentials" tutorial, and there's been very positive feedback from people who _only_ read the "Essentials" tutorial to start learning Redux. (We've actually considered just replacing the NPM `redux` package with the RTK contents, but concluded that would be too much ecosystem churn: ).

    It is admittedly hard to split the learning material between our three docs sites: the Redux core docs, the Redux Toolkit docs, and the React-Redux docs. That's why I actually just deleted the tutorials in the RTK site itself recently, and instead now point to the "Essentials" and "Fundamentals" tutorials in the core site instead, so that there's no duplication of tutorial content. (There were several other issues with the RTK tutorials people had complained about anyway - see ).

    FWIW, this is a really good discussion and set of feedback, and I appreciate you engaging with me on this :)

    If you still have concerns about how we're trying to teach Redux and RTK, could you do me a favor and file a new "Discussion" in the Redux core repo, at ? I definitely take concerns over Redux learning flow seriously and am interested in ways we can improve the docs, and this HN thread probably isn't the best place for surfacing the discussion :)

  • ⚛️ React Developer Roadmap - beginners guide 🚀 | 2021-03-20
  • What if LinkedIn was beautiful? | 2021-03-19
    Working with individuals stand-alone display components fit most cases, but there are some scenarios that it's not enough to achieve a goal. The Chat component — which is composed of a master component and three sub-components — is a perfect example of that. The challenge here is not only the interface by itself — with a decent mobile version — but also to make the sub-components communicate with each other in harmony. At first, I thought of using Redux.js for that, but even though it would fulfill the requirements and solve our problem, I've chosen to work with React Context API instead, that is meant to share data that can be considered “global” for a tree of React components, fitting perfectly to the Chat component case. This wasn't the only place where Context API was required, but as mentioned, this is a "quick overview", so we are going to stick only with the Chat component.