这里有字数限制,全文可以参考这里
Redux Ecosystem Links Introduction
本文是对redux-ecosystem-links的Fork与翻译。本文包含了一系列Redux的插件或者与之有紧密关联的项目的集合。本文包含了Redux官方文档中的 Ecosystem page 以及 Awesome-Redux 列表, 并且包含了很多笔者自己搜集的项目列表。列举在某个具体的目录下的项目没有特定的顺序,只是按照我添加的顺序来。
Core Redux Concepts:核心的Redux概念
Reducers
Reducer Utilities
multireducer : 143 Stars
https://github.com/erikras/multireducer
一个用于将多个单独的Redux Reducer合并为一个单独的Key的Reducer。
reduce-reducers : 83 Stars
https://github.com/acdlite/reduce-reduce...
按照从左到右的顺序来合并Reducers
redux-modules : 54 Stars
https://github.com/mboperator/redux-modu...
用于定义清晰的带有类型检查的Action Payloads,基于Redux Duck Paradigm。
redux-delegator : 12 Stars
https://github.com/lapanoid/redux-delega...
以结构化方式组织Reducers
create-reducer : 17 Stars
https://github.com/nrn/create-reducer
Create a redux reducer from an object of action handling functions, keyed by the actions they handle. Has createReducer.compose(fns) helper function to combine multiple action handlers into a single action.
redux-map-reducers
https://github.com/zippyui/redux-map-red...
Redux reducer that maps over an object of action types.
reduxr-obj-reducer
https://github.com/chrisdavies/reduxr-ob...
A utility to create Redux reducers from simple objects.
reduxr-scoped-reducer
https://github.com/chrisdavies/reduxr-sc...
A utility to create Redux reducers which only respond to prefixed actions.
reducer-chain
https://github.com/bydooweedoo/reducer-c...
reducer-chain helps you to chain redux reducers with given state and action, then keep last updated state.
reducer-pipe
https://github.com/bydooweedoo/reducer-p...
reducer-pipe helps you to pipe redux reducers with given state and action, passing previously returned state to next reducer, then keep last updated state.
reducer-sandbox
https://github.com/bydooweedoo/reducer-s...
reducer-sandbox helps you to reuse your redux reducers in different place without conflict them.
redux-create-reducer
https://github.com/kolodny/redux-create-...
Publishing createReducer from Redux's Reducing Boilerplate page.
redux-action-reducer
https://github.com/troch/redux-action-re...
Remove redux reducer boilerplate
Redux Reducer
https://github.com/chetanism/redux-reduc...
This library is intended to provide a little more object-oriented approach to write reducers. All it does is provide Reducer and CombineReducers classes to get rid of switch-case. Additionally it also lets you modify reducers dynamically.
redux-reducer
https://github.com/nathanial/redux-reduc...
A small library for writing redux actions with less boilerplate using classes.
redux-switch-action
https://github.com/qwtel/redux-switch-ac...
Slightly more concise reducer switching for Flux Standard Actions.
make-reducer
https://github.com/reactbits/make-reduce...
Functions to easily build redux reducers without boilerplate code.
Reducer manager, it can be used as a replace for switch in Redux reducers
create-redux-reducer-from-map
https://github.com/TehShrike/create-redu...
A personal preference for building reducers for Redux.
topologically-combine-reducers
https://github.com/KodersLab/topological...
A way to combine reducers by their dependencies and access at their ancestor's values.
redux-polymorphic
https://github.com/yesmeck/redux-polymor...
Another attempt to reuse your reducers, inspired from multireducer
combined-reduction
https://github.com/convoyinc/combined-re...
Like Redux's combineReducers, but more better! Allows definition of nested reducers and multiple top-level reducers.
Higher-Order Reducers
redux-undo
https://github.com/omnidan/redux-undo
Higher order reducer to add undo/redo functionality to redux state containers
redux-ignore
https://github.com/omnidan/redux-ignore
Higher-order reducer to ignore redux actions
redux-recycle
https://github.com/omnidan/redux-recycle
Higher-order reducer to reset the redux state on certain actions
redux-optimist
https://github.com/ForbesLindesay/redux-...
Optimistically apply actions that can be later commited or reverted.
redux-optimistic-ui
https://github.com/mattkrick/redux-optim...
A reducer enhancer to enable type-agnostic optimistic updates
Redux Entities
https://github.com/itsmepetrov/redux-ent...
Higher-order reducer for store entities received from gaearon's normalizr and makes it easy to handle them.
redux-cache
https://github.com/simplesmiler/redux-ca...
Higher order cache reducer
redux-multiplex
https://github.com/reducks/redux-multipl...
Provides a higher-order reducer for managing multiple instances of the same redux state subtree.
redux-meta-reducer
https://github.com/DerekCuevas/redux-met...
A redux higher order reducer to simplify the state of fetched data.
Advanced Reducer Use Cases
redux-operations
https://github.com/mattkrick/redux-opera...
https://medium.com/@matt.krick/solving-r...
https://medium.com/@matt.krick/introduci...
Adds additional logic to reducers to handle ordering of reducer handling, dynamic state creation, and display of reducer behavior in the Redux DevTools.
redux-components
https://github.com/wcjohnson/redux-compo...
A component model for Redux state trees based on the React.js component model and other familiar design patterns from the React ecosystem. Allows creation of "reducer components" that can be dynamically added and removed, and targeted with scoped actions.
redux-reducer-factory
https://github.com/mclauia/redux-reducer...
A configurable createReducer factory (i.e. it is a factory for making a createReducer function) that essentially allows projects to insert extra generic reducers (enhancers) before and after individual domain reducers are invoked, without muddying those individual domains.
redux-reducers-meld
https://github.com/mclauia/redux-reducer...
A beforeReduce enhancer for use with redux-reducer-factory that can meld previous and initial state to flesh out default state of partial state hydration (for example, when persisting only specific parts of your state tree to local storage)
redux-reset
https://github.com/wwayne/redux-reset
A store enhancer to allow resetting the state based on a specific action
redux-list-reducer
https://github.com/mattikl/redux-list-re...
redux-list-reducer is a factory function for creating Redux reducers that operate on lists.
rereduce
https://github.com/slorber/rereduce
Simple reducer library for Redux. It's like Reselect but for reducers. By using aggressive memoization, reducers can depend on each others in an efficient way, without having to query Redux store. It works fine with time-travel debugging and server-side rendering, because reducers remains totally stateless pure functions. It permits to replace the imperative waitFor of original Flux implementation by a purely functional approach.
redux-waitfor
https://github.com/dtinth/redux-waitfor
Reducer combinator that allows reducers to wait upon each other.
incremental-redux-reducers
https://github.com/tazsingh/incremental-...
Incrementally load Redux reducers into a single store
redux-register
https://github.com/dexbol/redux-register
An Redux enhancer for registering reducer by namespace
Actions
Action Creation Utilities
redux-actions
https://github.com/acdlite/redux-actions
Flux Standard Action utilities for Redux.
redux-namespaced-actions
https://github.com/skleeschulte/redux-na...
Wrapper for redux-actions to easily add namespaces to action types.
redux-batched-actions
https://github.com/tshelburne/redux-batc...
Batching action creator and associated higher order reducer for redux that enables batching subscriber notifications for an array of actions. Semi-similar use case as redux-batched-subscribe.
This is a utility for injecting actions in redux. The idea came from having a huge project with actions all over the place. What if we treated actions like routes and made a file with a list of them?
redux-easy-actions
https://github.com/grigory-leonenko/redu...
Sugar library for creating Redux or Flux actions.
Redux Action Helpers
https://github.com/keuller/redux-action-...
Includes utility functionx to generate simple and dynamic actions.
redux-action-types
https://github.com/ripeworks/redux-actio...
Shortcut for making normal and async action types.
redux-simple-actions
https://github.com/xiamidaxia/redux-simp...
Create actions based on objects with functions
async-redux-actions
https://github.com/spalger/async-redux-a...
A simple wrapper around async redux actions.
Faction
https://github.com/af/faction
Utilities and conventions for managing Redux (or Flux) actions. Co-locate your action types and action creators and keep them DRY, automatically dispatch follow-up actions when your async actions complete, validate arguments sent to each actionCreator
redux-purify
https://github.com/alpacaaa/redux-purify
Allows definition of actions by passing named reducers in an object
reduxr-obj-actions
https://github.com/chrisdavies/reduxr-ob...
A utility to create auto-typed Redux actions from an object.
redux-promise-thunk
https://github.com/kpaxqin/redux-promise...
Create thunk generator to dispatch Flux-Standard-Action in each phase of Promise.
redux-api-action-creators
https://github.com/AlanFoster/redux-api-...
API Action Creators for Redux
create-action
https://github.com/nkt/create-action
Helpers for creating FSA compatible actions.
action-names
https://github.com/Versent/action-names
Utility functions to generate action name triplets for CRUD ops.
Other Action Use Cases
redux-actionemitter
https://github.com/sgentle/redux-actione...
An experimental module for representing Redux actions as events. In this model, reducers become observers, switch statements become event listeners, and dispatch() emits events.
Redux Smart Action
https://github.com/stephan83/redux-smart...
SmartActions add a layer on top of actions to do things depending on whether an action would modify the state. When a SmartAction is called, it returns an object instead of dispatching immediately. The returned object tells you whether executing it would change the state, and a method to execute it.
Redux Undo Stack
https://github.com/stephan83/redux-undo-...
An undo stack for redux. It works by storing incremental changes instead of entire states, which is optimal when working with large data. It works in combination with SmartActions.
redux-queue-offline
https://github.com/mathieudutour/redux-q...
Queue actions when offline and dispatch them when getting back online
Store
Store Persistence
redux-persist
https://github.com/rt2zz/redux-persist
Persist and rehydrate a redux store. The core idea behind redux-persist is to provide performant persistence and rehydration methods. At the same time redux-persist is designed to minimize complexity by knowing as little about your application as possible.
redux-persist-crosstab
https://github.com/rt2zz/redux-persist-c...
Add cross tab syncing to your redux app with 1 line. This tiny module listens to the window for redux-persist storage events. When an event occurs it will dispatch a rehydrate action.
redux-localstorage
https://github.com/elgerlambert/redux-lo...
Store enhancer that syncs (a subset) of your Redux store state to localstorage.
redux-localstorage-slicer
https://github.com/ngokevin/redux-locals...
Custom slicer for redux-localstorage that allows reducers to define their own persistence configuration.
redux-localstorage-immutable
https://github.com/jakelazaroff/redux-lo...
Enhancer for redux-localstorage that allows you to persist an immutable store
redux-storage
https://github.com/michaelcontento/redux...
Persistence layer for redux with flexible backends. Save and load the Redux state with ease.
redux-pouchdb
https://github.com/vicentedealencar/redu...
Sync store state to pouchdb
redux-owl
https://github.com/rt2zz/redux-owl
Redux One Way Linking. This is a simple method for supporting offline sync. The basic concept is, try to execute the action, on failure add it to a retry queue. Every so often process the retry queue until success is achieved.
redux-live
https://github.com/eitak/redux-live
Redux Live a framework for persisting Redux actions to a database and synchronising them across multiple clients.
redux-action-store
https://github.com/oakfang/redux-action-...
Save and load actions to persist state
redux-session-storage
https://github.com/conorhastings/redux-s...
Redux middleware for recording redux actions for a particular session to session storage
redux-persistent-state-snapshot
https://github.com/Marcoga/redux-persist...
Middleware to persist your state in a Redux app.
redux-simple-localstorage
https://github.com/MoombaDS/redux-simple...
Ridiculously simple implementation for serialising the entire Redux store to local storage and retrieving it on application restart.
Redux Share
https://github.com/baptistemanson/redux-...
https://github.com/baptistemanson/redux-...
Share redux state across the network between clients and servers
Store Change Subscriptions
redux-watch
https://github.com/jprichardson/redux-wa...
Watch/observe/monitor Redux store state changes. Creates store subscription callbacks that can do comparisons based on object paths or Reselect selectors.
redux-subscribe
https://github.com/ashaffer/redux-subscr...
Subscribe to a path in your redux state atom. Uses a middleware shared path strings for improved performance and dynamic subscription handling.
redux-changes
https://github.com/sprightco/redux-chang...
Process changes in redux with path matching. Uses a higher-order reducer that does comparisons, and uses a path string with a matching syntax.
redux-observers
https://github.com/xuoe/redux-observers
Observe Redux state changes and dispatch actions on change.
redux-observer
https://github.com/jimf/redux-observer
Redux middleware for observing state change and taking action when changes of interest occur.
redux-batched-subscribe
https://github.com/tappleby/redux-batche...
Store enhancer for redux which allows batching of subscribe notifications that occur as a result of dispatches. Semi-similar use case as redux-batched-actions.
redux-batched-updates
https://github.com/acdlite/redux-batched...
Batch React updates that occur as a result of Redux dispatches, to prevent cascading renders.
redux-when
https://github.com/jameslnewell/redux-wh...
Delay dispatching an action until a condition is true.
redux-skip-by-action
https://github.com/tshelburne/redux-skip...
Store enhancer for redux that enables skipping subscriber notifications for individual actions.
redux-store-observer
https://github.com/jonnyreeves/redux-sto...
redux-store-observer provides a thin wrapper around Redux's store#subscribe() to allow you to respond to state changes.
redux-spy
https://github.com/erikras/redux-spy
A higher order component decorator to read from a Redux store without subscribing to all its changes
redux-debounce-listener
https://github.com/nakamura-to/redux-deb...
Redux Debounce Listener allows you to delay invoking listeners. If you use this with React, rendering cost may be reduced.
pull-redux
https://github.com/ahdinosaur/pull-redux
use redux as a through pull stream
Other
redux-lift
https://github.com/izaakschroeder/redux-...
Store composition for redux. Lifting allows you to "lift" your state, reducers and actions into another context. Lifting is a kind of store enhancer that is a superset of middleware.
Advanced/Additional Redux Concepts
Immutable Data
Immutable Data Structures
Immutable.js
https://facebook.github.io/immutable-js/
Fully-featured data structures library that uses advanced internal data storage to efficiently manage modified references. Very widely used, but also rather complex.
seamless-immutable
https://github.com/rtfeldman/seamless-im...
Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objects. Uses freezing.
redux-tcomb
https://github.com/gcanti/redux-tcomb
Immutable and type-checked state and actions for Redux (built on tcomb library)
A TINY, fail-fast, lazy, "naked", simple immutable Javascript objects library.
Ice Dam: a very lightweight library to freeze data. Data is frozen at the edge, where your Flux container sends it to views.
Easily update nested frozen objects and arrays in a declarative and immutable manner.
Utilities for treating frozen JavaScript objects as persistent immutable collections
Immutable Update Utilities
immutable-ops
https://github.com/tommikaikkonen/immuta...
A collection of functions to perform immutable operations on plain JavaScript objects and arrays. Like updeep but with batched mutations and no freezing. Like icepick, but with batched mutations and a curried API that puts the target object as the last argument. No freezing.
Redecorate
https://github.com/Wildhoney/Redecorate
Simple module for reducing immutable nested properties in Redux applications.
object-path-immutable
https://github.com/mariocasciaro/object-...
Modify deep object properties without modifying the original object (immutability). Works great with React and Redux.
immutable-path
https://github.com/baptistemanson/immuta...
Immutable path is a simple micro library providing js object selectors and modifiers. Stick to immutability: modification always returns a new instance of the object. Free optin and optout: no need to wrap all your plain objects in classes, no init.
update-in
https://github.com/dustingetz/update-in/
Persistent functional object updates on vanilla js data structures (wraps react-addons-update)
dot-prop-immutable
https://github.com/debitoor/dot-prop-imm...
The motivation for this module is to have a simple utility for changing state in a React-Redux application without mutate existing state of plain JavaScript objects.
Sprout provides a set of functions to help you work with nested data without all the headaches. Sprout never mutates the original data but returns new versions. This way, plain JavaScript objects (and arrays) can be effectively treated as if they were immutable.
Traverse objects and arrays immutably. Scour is a general-purpose library for dealing with JSON trees. Use it to: manage your Redux datastore; provide a model layer to access data in your single-page app; navigate a large JSON tree easily; rejoice in having a lightweight alternative to Immutable.js.
Immutability helpers with fast reads and acceptable writes. Timm's approach: use plain objects and arrays and provide simple mutation functions that will probably not handle all edge cases.
Utilities for creating and merging immutable data trees. Friendly to functional programming. Only plain JS objects, no custom classes, no OOP, bring your own data.
reduxr-reducer-helpers
https://github.com/chrisdavies/reduxr-re...
A utility to handle common array manipulation reducer functions.
React Immutability Helpers
https://facebook.github.io/react/docs/up...
A set of commands for immutably updating data.
immutability-helper
https://github.com/kolodny/immutability-...
"React Immutability Helpers" most likely are going to be deprecated. This library is a drop-in replacement for
A set of commands for immutably updating data.
immutability-helper
https://github.com/kolodny/immutability-...
"React Immutability Helpers" most likely are going to be deprecated. This library is a drop-in replacement for
Core Redux Concepts:核心的Redux概念
Reducers
Reducer Utilities
multireducer : 143 Stars
https://github.com/erikras/multireducer
一个用于将多个单独的Redux Reducer合并为一个单独的Key的Reducer。
reduce-reducers : 83 Stars
https://github.com/acdlite/reduce-reduce...
按照从左到右的顺序来合并Reducers
redux-modules : 54 Stars
https://github.com/mboperator/redux-modu...
用于定义清晰的带有类型检查的Action Payloads,基于Redux Duck Paradigm。
redux-delegator : 12 Stars
https://github.com/lapanoid/redux-delega...
以结构化方式组织Reducers
create-reducer : 17 Stars
https://github.com/nrn/create-reducer
Create a redux reducer from an object of action handling functions, keyed by the actions they handle. Has createReducer.compose(fns) helper function to combine multiple action handlers into a single action.
redux-map-reducers
https://github.com/zippyui/redux-map-red...
Redux reducer that maps over an object of action types.
reduxr-obj-reducer
https://github.com/chrisdavies/reduxr-ob...
A utility to create Redux reducers from simple objects.
reduxr-scoped-reducer
https://github.com/chrisdavies/reduxr-sc...
A utility to create Redux reducers which only respond to prefixed actions.
reducer-chain
https://github.com/bydooweedoo/reducer-c...
reducer-chain helps you to chain redux reducers with given state and action, then keep last updated state.
reducer-pipe
https://github.com/bydooweedoo/reducer-p...
reducer-pipe helps you to pipe redux reducers with given state and action, passing previously returned state to next reducer, then keep last updated state.
reducer-sandbox
https://github.com/bydooweedoo/reducer-s...
reducer-sandbox helps you to reuse your redux reducers in different place without conflict them.
redux-create-reducer
https://github.com/kolodny/redux-create-...
Publishing createReducer from Redux's Reducing Boilerplate page.
redux-action-reducer
https://github.com/troch/redux-action-re...
Remove redux reducer boilerplate
Redux Reducer
https://github.com/chetanism/redux-reduc...
This library is intended to provide a little more object-oriented approach to write reducers. All it does is provide Reducer and CombineReducers classes to get rid of switch-case. Additionally it also lets you modify reducers dynamically.
redux-reducer
https://github.com/nathanial/redux-reduc...
A small library for writing redux actions with less boilerplate using classes.
redux-switch-action
https://github.com/qwtel/redux-switch-ac...
Slightly more concise reducer switching for Flux Standard Actions.
make-reducer
https://github.com/reactbits/make-reduce...
Functions to easily build redux reducers without boilerplate code.
Reducer manager, it can be used as a replace for switch in Redux reducers
create-redux-reducer-from-map
https://github.com/TehShrike/create-redu...
A personal preference for building reducers for Redux.
topologically-combine-reducers
https://github.com/KodersLab/topological...
A way to combine reducers by their dependencies and access at their ancestor's values.
redux-polymorphic
https://github.com/yesmeck/redux-polymor...
Another attempt to reuse your reducers, inspired from multireducer
combined-reduction
https://github.com/convoyinc/combined-re...
Like Redux's combineReducers, but more better! Allows definition of nested reducers and multiple top-level reducers.
Higher-Order Reducers
redux-undo
https://github.com/omnidan/redux-undo
Higher order reducer to add undo/redo functionality to redux state containers
redux-ignore
https://github.com/omnidan/redux-ignore
Higher-order reducer to ignore redux actions
redux-recycle
https://github.com/omnidan/redux-recycle
Higher-order reducer to reset the redux state on certain actions
redux-optimist
https://github.com/ForbesLindesay/redux-...
Optimistically apply actions that can be later commited or reverted.
redux-optimistic-ui
https://github.com/mattkrick/redux-optim...
A reducer enhancer to enable type-agnostic optimistic updates
Redux Entities
https://github.com/itsmepetrov/redux-ent...
Higher-order reducer for store entities received from gaearon's normalizr and makes it easy to handle them.
redux-cache
https://github.com/simplesmiler/redux-ca...
Higher order cache reducer
redux-multiplex
https://github.com/reducks/redux-multipl...
Provides a higher-order reducer for managing multiple instances of the same redux state subtree.
redux-meta-reducer
https://github.com/DerekCuevas/redux-met...
A redux higher order reducer to simplify the state of fetched data.
Advanced Reducer Use Cases
redux-operations
https://github.com/mattkrick/redux-opera...
https://medium.com/@matt.krick/solving-r...
https://medium.com/@matt.krick/introduci...
Adds additional logic to reducers to handle ordering of reducer handling, dynamic state creation, and display of reducer behavior in the Redux DevTools.
redux-components
https://github.com/wcjohnson/redux-compo...
A component model for Redux state trees based on the React.js component model and other familiar design patterns from the React ecosystem. Allows creation of "reducer components" that can be dynamically added and removed, and targeted with scoped actions.
redux-reducer-factory
https://github.com/mclauia/redux-reducer...
A configurable createReducer factory (i.e. it is a factory for making a createReducer function) that essentially allows projects to insert extra generic reducers (enhancers) before and after individual domain reducers are invoked, without muddying those individual domains.
redux-reducers-meld
https://github.com/mclauia/redux-reducer...
A beforeReduce enhancer for use with redux-reducer-factory that can meld previous and initial state to flesh out default state of partial state hydration (for example, when persisting only specific parts of your state tree to local storage)
redux-reset
https://github.com/wwayne/redux-reset
A store enhancer to allow resetting the state based on a specific action
redux-list-reducer
https://github.com/mattikl/redux-list-re...
redux-list-reducer is a factory function for creating Redux reducers that operate on lists.
rereduce
https://github.com/slorber/rereduce
Simple reducer library for Redux. It's like Reselect but for reducers. By using aggressive memoization, reducers can depend on each others in an efficient way, without having to query Redux store. It works fine with time-travel debugging and server-side rendering, because reducers remains totally stateless pure functions. It permits to replace the imperative waitFor of original Flux implementation by a purely functional approach.
redux-waitfor
https://github.com/dtinth/redux-waitfor
Reducer combinator that allows reducers to wait upon each other.
incremental-redux-reducers
https://github.com/tazsingh/incremental-...
Incrementally load Redux reducers into a single store
redux-register
https://github.com/dexbol/redux-register
An Redux enhancer for registering reducer by namespace
Actions
Action Creation Utilities
redux-actions
https://github.com/acdlite/redux-actions
Flux Standard Action utilities for Redux.
redux-namespaced-actions
https://github.com/skleeschulte/redux-na...
Wrapper for redux-actions to easily add namespaces to action types.
redux-batched-actions
https://github.com/tshelburne/redux-batc...
Batching action creator and associated higher order reducer for redux that enables batching subscriber notifications for an array of actions. Semi-similar use case as redux-batched-subscribe.
This is a utility for injecting actions in redux. The idea came from having a huge project with actions all over the place. What if we treated actions like routes and made a file with a list of them?
redux-easy-actions
https://github.com/grigory-leonenko/redu...
Sugar library for creating Redux or Flux actions.
Redux Action Helpers
https://github.com/keuller/redux-action-...
Includes utility functionx to generate simple and dynamic actions.
redux-action-types
https://github.com/ripeworks/redux-actio...
Shortcut for making normal and async action types.
redux-simple-actions
https://github.com/xiamidaxia/redux-simp...
Create actions based on objects with functions
async-redux-actions
https://github.com/spalger/async-redux-a...
A simple wrapper around async redux actions.
Faction
https://github.com/af/faction
Utilities and conventions for managing Redux (or Flux) actions. Co-locate your action types and action creators and keep them DRY, automatically dispatch follow-up actions when your async actions complete, validate arguments sent to each actionCreator
redux-purify
https://github.com/alpacaaa/redux-purify
Allows definition of actions by passing named reducers in an object
reduxr-obj-actions
https://github.com/chrisdavies/reduxr-ob...
A utility to create auto-typed Redux actions from an object.
redux-promise-thunk
https://github.com/kpaxqin/redux-promise...
Create thunk generator to dispatch Flux-Standard-Action in each phase of Promise.
redux-api-action-creators
https://github.com/AlanFoster/redux-api-...
API Action Creators for Redux
create-action
https://github.com/nkt/create-action
Helpers for creating FSA compatible actions.
action-names
https://github.com/Versent/action-names
Utility functions to generate action name triplets for CRUD ops.
Other Action Use Cases
redux-actionemitter
https://github.com/sgentle/redux-actione...
An experimental module for representing Redux actions as events. In this model, reducers become observers, switch statements become event listeners, and dispatch() emits events.
Redux Smart Action
https://github.com/stephan83/redux-smart...
SmartActions add a layer on top of actions to do things depending on whether an action would modify the state. When a SmartAction is called, it returns an object instead of dispatching immediately. The returned object tells you whether executing it would change the state, and a method to execute it.
Redux Undo Stack
https://github.com/stephan83/redux-undo-...
An undo stack for redux. It works by storing incremental changes instead of entire states, which is optimal when working with large data. It works in combination with SmartActions.
redux-queue-offline
https://github.com/mathieudutour/redux-q...
Queue actions when offline and dispatch them when getting back online
Store
Store Persistence
redux-persist
https://github.com/rt2zz/redux-persist
Persist and rehydrate a redux store. The core idea behind redux-persist is to provide performant persistence and rehydration methods. At the same time redux-persist is designed to minimize complexity by knowing as little about your application as possible.
redux-persist-crosstab
https://github.com/rt2zz/redux-persist-c...
Add cross tab syncing to your redux app with 1 line. This tiny module listens to the window for redux-persist storage events. When an event occurs it will dispatch a rehydrate action.
redux-localstorage
https://github.com/elgerlambert/redux-lo...
Store enhancer that syncs (a subset) of your Redux store state to localstorage.
redux-localstorage-slicer
https://github.com/ngokevin/redux-locals...
Custom slicer for redux-localstorage that allows reducers to define their own persistence configuration.
redux-localstorage-immutable
https://github.com/jakelazaroff/redux-lo...
Enhancer for redux-localstorage that allows you to persist an immutable store
redux-storage
https://github.com/michaelcontento/redux...
Persistence layer for redux with flexible backends. Save and load the Redux state with ease.
redux-pouchdb
https://github.com/vicentedealencar/redu...
Sync store state to pouchdb
redux-owl
https://github.com/rt2zz/redux-owl
Redux One Way Linking. This is a simple method for supporting offline sync. The basic concept is, try to execute the action, on failure add it to a retry queue. Every so often process the retry queue until success is achieved.
redux-live
https://github.com/eitak/redux-live
Redux Live a framework for persisting Redux actions to a database and synchronising them across multiple clients.
redux-action-store
https://github.com/oakfang/redux-action-...
Save and load actions to persist state
redux-session-storage
https://github.com/conorhastings/redux-s...
Redux middleware for recording redux actions for a particular session to session storage
redux-persistent-state-snapshot
https://github.com/Marcoga/redux-persist...
Middleware to persist your state in a Redux app.
redux-simple-localstorage
https://github.com/MoombaDS/redux-simple...
Ridiculously simple implementation for serialising the entire Redux store to local storage and retrieving it on application restart.
Redux Share
https://github.com/baptistemanson/redux-...
https://github.com/baptistemanson/redux-...
Share redux state across the network between clients and servers
Store Change Subscriptions
redux-watch
https://github.com/jprichardson/redux-wa...
Watch/observe/monitor Redux store state changes. Creates store subscription callbacks that can do comparisons based on object paths or Reselect selectors.
redux-subscribe
https://github.com/ashaffer/redux-subscr...
Subscribe to a path in your redux state atom. Uses a middleware shared path strings for improved performance and dynamic subscription handling.
redux-changes
https://github.com/sprightco/redux-chang...
Process changes in redux with path matching. Uses a higher-order reducer that does comparisons, and uses a path string with a matching syntax.
redux-observers
https://github.com/xuoe/redux-observers
Observe Redux state changes and dispatch actions on change.
redux-observer
https://github.com/jimf/redux-observer
Redux middleware for observing state change and taking action when changes of interest occur.
redux-batched-subscribe
https://github.com/tappleby/redux-batche...
Store enhancer for redux which allows batching of subscribe notifications that occur as a result of dispatches. Semi-similar use case as redux-batched-actions.
redux-batched-updates
https://github.com/acdlite/redux-batched...
Batch React updates that occur as a result of Redux dispatches, to prevent cascading renders.
redux-when
https://github.com/jameslnewell/redux-wh...
Delay dispatching an action until a condition is true.
redux-skip-by-action
https://github.com/tshelburne/redux-skip...
Store enhancer for redux that enables skipping subscriber notifications for individual actions.
redux-store-observer
https://github.com/jonnyreeves/redux-sto...
redux-store-observer provides a thin wrapper around Redux's store#subscribe() to allow you to respond to state changes.
redux-spy
https://github.com/erikras/redux-spy
A higher order component decorator to read from a Redux store without subscribing to all its changes
redux-debounce-listener
https://github.com/nakamura-to/redux-deb...
Redux Debounce Listener allows you to delay invoking listeners. If you use this with React, rendering cost may be reduced.
pull-redux
https://github.com/ahdinosaur/pull-redux
use redux as a through pull stream
Other
redux-lift
https://github.com/izaakschroeder/redux-...
Store composition for redux. Lifting allows you to "lift" your state, reducers and actions into another context. Lifting is a kind of store enhancer that is a superset of middleware.
Advanced/Additional Redux Concepts
Immutable Data
Immutable Data Structures
Immutable.js
https://facebook.github.io/immutable-js/
Fully-featured data structures library that uses advanced internal data storage to efficiently manage modified references. Very widely used, but also rather complex.
seamless-immutable
https://github.com/rtfeldman/seamless-im...
Immutable data structures for JavaScript which are backwards-compatible with normal JS Arrays and Objects. Uses freezing.
redux-tcomb
https://github.com/gcanti/redux-tcomb
Immutable and type-checked state and actions for Redux (built on tcomb library)
A TINY, fail-fast, lazy, "naked", simple immutable Javascript objects library.
Ice Dam: a very lightweight library to freeze data. Data is frozen at the edge, where your Flux container sends it to views.
Easily update nested frozen objects and arrays in a declarative and immutable manner.
Utilities for treating frozen JavaScript objects as persistent immutable collections
Immutable Update Utilities
immutable-ops
https://github.com/tommikaikkonen/immuta...
A collection of functions to perform immutable operations on plain JavaScript objects and arrays. Like updeep but with batched mutations and no freezing. Like icepick, but with batched mutations and a curried API that puts the target object as the last argument. No freezing.
Redecorate
https://github.com/Wildhoney/Redecorate
Simple module for reducing immutable nested properties in Redux applications.
object-path-immutable
https://github.com/mariocasciaro/object-...
Modify deep object properties without modifying the original object (immutability). Works great with React and Redux.
immutable-path
https://github.com/baptistemanson/immuta...
Immutable path is a simple micro library providing js object selectors and modifiers. Stick to immutability: modification always returns a new instance of the object. Free optin and optout: no need to wrap all your plain objects in classes, no init.
update-in
https://github.com/dustingetz/update-in/
Persistent functional object updates on vanilla js data structures (wraps react-addons-update)
dot-prop-immutable
https://github.com/debitoor/dot-prop-imm...
The motivation for this module is to have a simple utility for changing state in a React-Redux application without mutate existing state of plain JavaScript objects.
Sprout provides a set of functions to help you work with nested data without all the headaches. Sprout never mutates the original data but returns new versions. This way, plain JavaScript objects (and arrays) can be effectively treated as if they were immutable.
Traverse objects and arrays immutably. Scour is a general-purpose library for dealing with JSON trees. Use it to: manage your Redux datastore; provide a model layer to access data in your single-page app; navigate a large JSON tree easily; rejoice in having a lightweight alternative to Immutable.js.
Immutability helpers with fast reads and acceptable writes. Timm's approach: use plain objects and arrays and provide simple mutation functions that will probably not handle all edge cases.
Utilities for creating and merging immutable data trees. Friendly to functional programming. Only plain JS objects, no custom classes, no OOP, bring your own data.
reduxr-reducer-helpers
https://github.com/chrisdavies/reduxr-re...
A utility to handle common array manipulation reducer functions.
React Immutability Helpers
https://facebook.github.io/react/docs/up...
A set of commands for immutably updating data.
immutability-helper
https://github.com/kolodny/immutability-...