Skip to main content

Redux Libraries & Learning Material

Redux is a state container for JavaScript apps.

Contents

Code Architecture

Aims to improve the overall structure of the source code. Makes reasoning about the code easier.

Utilities

  • redux-orm - Small, simple and immutable ORM to manage relational data in your Redux store.
  • redux-api-middleware - Redux middleware for calling an API.
  • redux-ignore - Higher-order reducer to ignore Redux actions.
  • redux-modifiers - Collection of generic functions for writing Redux reducers to operate on various data structures.
  • rereduce - Reducer library for Redux.
  • redux-search - Redux bindings for client-side search.
  • redux-logger - Logger middleware for Redux.
  • redux-immutable - Redux-immutable is used to create an equivalent function of Redux combineReducers that works with Immutable.js state.
  • reselect - Selector library for Redux.
  • redux-requests - Manages in-flight requests with a Redux reducer to avoid issuing duplicate requests.
  • redux-undo - Higher order reducer to add undo/redo functionality to Redux state containers.
  • redux-bug-reporter - Bug reporter and bug playback tool for Redux.
  • redux-transducers - Transducer utilities for Redux.

Store Persistence

Side Effects

Side Effects / Asynchronous Actions

  • redux-saga - Alternative side effect model for Redux apps.
  • redux-promise-middleware - Redux middleware for resolving and rejecting promises with conditional optimistic updates.
  • redux-effects - You write pure functions, redux-effects handles the rest.
  • redux-thunk - Thunk middleware for Redux.
  • redux-connect - Provides decorator for resolving async props in react-router, extremely useful for handling server-side rendering in React.
  • redux-loop - Port of elm-effects and the Elm Architecture to Redux that allows you to sequence your effects naturally and purely by returning them from your reducers.
  • redux-side-effects - Redux toolset for keeping all the side effects inside your reducers while maintaining their purity.
  • redux-logic - Redux middleware for organizing business logic and action side effects.
  • redux-observable - RxJS middleware for action side effects in Redux using "Epics".
  • redux-ship - Composable, testable and typable side effects.

Code Style

Aims to make parts of the source code easier to read/write.

  • redux-act - Opinionated lib to create actions and reducers for Redux.
  • redux-crud - Set of standard actions and reducers for Redux CRUD Applications.

Dev tools / Inspection tools

React Integration

Routing

  • redux-async-connect - It allows you to request async data, store them in Redux state and connect them to your React component.
  • redux-tiny-router - Router made for Redux and made for universal apps. Stop using the router as a controller, it's just state.
  • redux-router - Redux bindings for React Router – keep your router state inside your Redux store.
  • react-router-redux - Ruthlessly simple bindings to keep react-router and Redux in sync.
  • ground-control - Scalable reducer management & powerful data fetching for React Router & Redux.

Forms

  • redux-form - Higher Order Component using react-redux to keep form state in a Redux store.
  • react-redux-form - Create forms easily in React with Redux.

Component State

Other Integrations

Flux

Backbone

  • backbone-redux - Easy way to keep your backbone collections and Redux store in sync.

Falcor

  • redux-falcor - Connect your Redux front-end to your falcor back-end.

RxJS

  • redux-observable - RxJS middleware for action side effects in Redux using "Epics".
  • rx-redux - Reimplementation of Redux using RxJS.
  • redux-rx - RxJS utilities for Redux.
  • redurx - Redux'ish Functional State Management using RxJS.

Electron

  • redux-electron-store - Redux store enhancer that allows automatic synchronization between electron processes.

Deku

Contribute to this list: https://github.com/brillout/awesome-redux