HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
markerikson
redux-ecosystem-links
Web Development2016–2018
markerikson / redux-ecosystem-links

redux-ecosystem-links

A categorized list of Redux-related addons, libraries, and utilities

2Distinct people
65Mentions
1Explicit recommenders
5.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A categorized list of Redux-related addons, libraries, and utilities

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I'll agree with the "nothing magical" statement, but I disagree with most of the rest of that comment. Certainly there's nothing "magical" about Redux. After all, the core…

acemarke used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month65 dated mentions

Observed mentions: 2016-04-04 16:14:05 UTC to 2018-10-27 19:58:15 UTC.

02468102016-04-01 00:00:00 UTC to 2016-05-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsApr 20162016-05-01 00:00:00 UTC to 2016-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-06-01 00:00:00 UTC to 2016-07-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2016-07-01 00:00:00 UTC to 2016-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-01 00:00:00 UTC to 2016-09-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-09-01 00:00:00 UTC to 2016-10-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2016-10-01 00:00:00 UTC to 2016-11-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2016-11-01 00:00:00 UTC to 2016-12-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-12-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2017-01-01 00:00:00 UTC to 2017-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-02-01 00:00:00 UTC to 2017-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-03-01 00:00:00 UTC to 2017-04-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-04-01 00:00:00 UTC to 2017-05-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2017-05-01 00:00:00 UTC to 2017-06-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-06-01 00:00:00 UTC to 2017-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-07-01 00:00:00 UTC to 2017-08-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 commentsJul 20172017-08-01 00:00:00 UTC to 2017-09-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-09-01 00:00:00 UTC to 2017-10-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2017-10-01 00:00:00 UTC to 2017-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-11-01 00:00:00 UTC to 2017-12-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-12-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-01-01 00:00:00 UTC to 2018-02-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-02-01 00:00:00 UTC to 2018-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-03-01 00:00:00 UTC to 2018-04-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-04-01 00:00:00 UTC to 2018-05-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2018-05-01 00:00:00 UTC to 2018-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-06-01 00:00:00 UTC to 2018-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-07-01 00:00:00 UTC to 2018-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-08-01 00:00:00 UTC to 2018-09-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-09-01 00:00:00 UTC to 2018-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2018-10-01 00:00:00 UTC to 2018-11-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 commentsOct 2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 20162016-04-01 00:00:00 UTC2016-05-01 00:00:00 UTC312
May 20162016-05-01 00:00:00 UTC2016-06-01 00:00:00 UTC101
Jun 20162016-06-01 00:00:00 UTC2016-07-01 00:00:00 UTC404
Jul 20162016-07-01 00:00:00 UTC2016-08-01 00:00:00 UTC000
Aug 20162016-08-01 00:00:00 UTC2016-09-01 00:00:00 UTC101
Sep 20162016-09-01 00:00:00 UTC2016-10-01 00:00:00 UTC303
Oct 20162016-10-01 00:00:00 UTC2016-11-01 00:00:00 UTC505
Nov 20162016-11-01 00:00:00 UTC2016-12-01 00:00:00 UTC101
Dec 20162016-12-01 00:00:00 UTC2017-01-01 00:00:00 UTC404
Jan 20172017-01-01 00:00:00 UTC2017-02-01 00:00:00 UTC101
Feb 20172017-02-01 00:00:00 UTC2017-03-01 00:00:00 UTC101
Mar 20172017-03-01 00:00:00 UTC2017-04-01 00:00:00 UTC303
Apr 20172017-04-01 00:00:00 UTC2017-05-01 00:00:00 UTC606
May 20172017-05-01 00:00:00 UTC2017-06-01 00:00:00 UTC202
Jun 20172017-06-01 00:00:00 UTC2017-07-01 00:00:00 UTC101
Jul 20172017-07-01 00:00:00 UTC2017-08-01 00:00:00 UTC909
Aug 20172017-08-01 00:00:00 UTC2017-09-01 00:00:00 UTC202
Sep 20172017-09-01 00:00:00 UTC2017-10-01 00:00:00 UTC404
Oct 20172017-10-01 00:00:00 UTC2017-11-01 00:00:00 UTC101
Nov 20172017-11-01 00:00:00 UTC2017-12-01 00:00:00 UTC303
Dec 20172017-12-01 00:00:00 UTC2018-01-01 00:00:00 UTC000
Jan 20182018-01-01 00:00:00 UTC2018-02-01 00:00:00 UTC101
Feb 20182018-02-01 00:00:00 UTC2018-03-01 00:00:00 UTC000
Mar 20182018-03-01 00:00:00 UTC2018-04-01 00:00:00 UTC101
Apr 20182018-04-01 00:00:00 UTC2018-05-01 00:00:00 UTC404
May 20182018-05-01 00:00:00 UTC2018-06-01 00:00:00 UTC000
Jun 20182018-06-01 00:00:00 UTC2018-07-01 00:00:00 UTC101
Jul 20182018-07-01 00:00:00 UTC2018-08-01 00:00:00 UTC000
Aug 20182018-08-01 00:00:00 UTC2018-09-01 00:00:00 UTC101
Sep 20182018-09-01 00:00:00 UTC2018-10-01 00:00:00 UTC000
Oct 20182018-10-01 00:00:00 UTC2018-11-01 00:00:00 UTC202

What Hacker News says

65 sources
Sagas are a great power tool, but I personally wouldn't use them for most simple API requests, largely because of the need for "signal actions" to trigger the logic. You might want to check out our new `redux-starter-kit` package [0], which can simplify some common use cases for things like action creators and reducers. There's also many other existing libraries to handle repetitive code like API requests as well [1]. [0] https://github.com/reduxjs/redux-starter-kit [1] https://github.com/markerikson/redux-ecosystem-links/blob/ma... , https://github.com/markerikson/redux-ecosystem-links/blob/ma...
In Introducing Hooks
Funny you should mention that :) There's a lot of existing libraries out there that will indeed generate action creators, reducers, etc (see my Redux addons list [0] for examples). One of the most interesting ones I've seen is Eric Elliott's `autodux` project [1], which does some clever bits of handling inside a `createSlice()` function. Earlier this year, I put together a new project called `redux-starter-kit`] [2]. Its goal is to simplify several common use cases with Redux usage, including store setup, reducer definitions and immutable update logic, and default behavior out of the box. While we don't plan to add these things to the Redux core itself, `redux-starter-kit` is an official Redux-branded library, and we're going to start encouraging that people use it in most situations. We just added a `createSlice` function to `redux-sta
Read the rest
rter-kit`, based on the `autodux` approach. I'd encourage you to try it out, as it does _exactly_ what you're asking for. I'd also really appreciate some feedback on how well it works, and any additional ideas for things the starter kit should include! [0] https://github.com/markerikson/redux-ecosystem-links [1] https://github.com/ericelliott/autodux [2] https://github.com/reduxjs/redux-starter-kit
In Introducing Hooks
Depends on what your definition of "magic" is. For example, we specifically have a "Reducing Boilerplate" docs page [0] that talks about writing reusable logic for reducers and action creators, like "higher order reducers" or a `createReducer()` util that accepts a lookup table of action types to handler functions. There's many existing libs that implement this kind of pattern [1]. Beyond that, there's other libraries that provide a higher level of abstraction, like automatically generating logic to handle common use cases (normalizing data, updating certain fields, etc) [2]. Updating data immutably can become complex [3], so there's a lot of immutable update utility libraries out there [4]. I recommend Immer [5], which lets you write normal mutative code but then applies the updates immutably. Finally, there's frameworks built on top o
Read the rest
In React Native at Airbnb
Yeah, that gets _wayyyyy_ past what I want to do. There are quite a few existing libs for doing data fetching and collection management ( https://github.com/markerikson/redux-ecosystem-links/blob/ma... ), ranging from simple normalized reducers to complex "auto fetch from a REST or JSON-API and provide full CRUD support" libs. I simply don't understand the complaints about switch statements myself, but it keeps coming up, so it seemed like a simple enough starting point for a "starter kit" library like this.
In Redux – Not Dead Yet
acemarke·Mar 11, 2018Recommendation phrase
I'll agree with the "nothing magical" statement, but I disagree with most of the rest of that comment. Certainly there's nothing "magical" about Redux. After all, the core `createStore` function can be written in about 25 lines if you leave out error handling, and the entire core lib in about 100 lines [0]. React-Redux does have a ton of optimization work internally, but conceptually it's pretty simple too - components subscribe to the store, call getState(), extract what they need, and re-render [1]. And that's the great thing: Redux is, as its tagline says, "a _predictable_ state container" - there _is no magic_ involved. What a lot of people don't seem to realize is that the Redux core is a _starting point_. One of my favorite quotes is: > "Redux is a platform for developers to build customized state management for their use-cases, w
Read the rest
hile being able to reuse things like the graphical debugger or middleware" We encourage Redux users to use whatever abstractions are appropriate for their own applications, including writing their own. In addition, Redux was designed from the ground up to be extensible [2]. As a result, the Redux ecosystem has exploded. My Redux addons catalog [3] lists somewhere around 2000 Redux-related libraries, utilities, and tools, ranging from action/reducer generation utils to side effects management addons to abstractions for fetching data from REST APIs. I've seen dozens of "Redux, but.." knockoffs. Most of them wind up throwing away the key design decisions that make Redux special. In particular, the concepts of plain object actions and reducer functions are what truly enable time-travel debugging and easy serialization of state. My current estimate is that somewhere between 50-60% of React apps currently use Redux. Redux has gained adoption in the Angular, Ember, and Vue communities as well, and inspired dozens of similar libraries, like NgRx, VueX, and more. Sure, I expect that some of that "market share" will slip over time, especially with the release of the new React context API soon. But, I also feel safe in saying that Redux will be around for a long time. [0] https://gist.github.com/gaearon/ffd88b0e4f00b22c3159 [1] https://gist.github.com/gaearon/1d19088790e70ac32ea636c025ba... [2] http://blog.isquaredsoftware.com/2017/09/presentation-might-... [3] https://github.com/markerikson/redux-ecosystem-links
In Ask HN: Why was React Native recommended to me? Not seeing benefits
Yeah, generally what's needed for data updates is _nested shallow copies_, not a deep copy. I talked about this in the "Immutable Update Patterns" section of the Redux docs [0], and the articles in the "Immutable Data" section of my React/Redux links list [1] give more examples of how to handle data immutably in JS. There's dozens of immutable update utility libraries available [2]. The one that I'm really excited about right now is a new library called Immer [3], from MobX author Michel Weststrate. It uses ES6 proxies to let you write normal mutative code in a callback, then applies the updates immutably. It looks like it should simplify a lot of common immutable update use cases, like in Redux reducers. [0] https://redux.js.org/docs/recipes/reducers/ImmutableUpdatePa... [1] https://github.com/markerikson/react-redux-links/blob/maste
Read the rest
In Deep-copying in JavaScript
Redux is actually used noticeably outside of the React community. Redux can be used with any UI layer, and there's bindings for many frameworks and UI layers besides React [0]. Redux has picked up popularity within the Angular community, both in its original form and the NgRx reimplementation. The ember-redux bindings are also starting to gain a bit of a following. Vue's VueX lib is inspired by Redux, and there's Vue-specific bindings for Redux itself. [0] https://github.com/markerikson/redux-ecosystem-links/blob/ma...
In How Redux Works: A Counter-Example
I'm a Redux maintainer. Here's my two standard suggestions for more realistic sample apps: - An 8-part "Build a Simple CRUD App with React and Redux" tutorial: http://www.thegreatcodeadventure.com/building-a-simple-crud-... - My own "Practical Redux" tutorial series, which shows off specific useful React and Redux techniques within a sample app: http://blog.isquaredsoftware.com/series/practical-redux/ Also, my Redux addons catalog has a page listing many other interesting Redux-based apps, including purpose-built samples and real-world apps: https://github.com/markerikson/redux-ecosystem-links/blob/ma...
In How Redux Works: A Counter-Example
Have you looked at any of the existing libraries in the ecosystem? There's dozens of tools for generating reusable functions like action creators and reducers [0], managing complex collections [1], and even higher-level abstractions on top of Redux like Kea [2]. Ultimately, you can put as much or as little abstraction on top of Redux as you want. [0] https://github.com/markerikson/redux-ecosystem-links/blob/ma... [1] https://github.com/markerikson/redux-ecosystem-links/blob/ma... [2] https://kea.js.org/
In Use a Render Prop
Really neat to see how Redux's design and extensibility make this kind of action serialization and store synchronization possible. There was another similar example recently where someone was synchronizing multiplayer game states via Redux actions [0]. There's actually quite a few addons available related to store synchronization [1]. [0] http://jimpurbrick.com/2017/01/04/vr-redux/ , http://jimpurbrick.com/2017/07/04/react-vr-redux-revisited/ [1] https://github.com/markerikson/redux-ecosystem-links/blob/ma...
In Migrating Slack's Desktop App to BrowserView

Showing the 15 most recent of 65 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.