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

  •        2

A categorized list of addon libraries for Redux, as well as other libraries that are closely related. This page overlaps with the Ecosystem page in the Redux documentation, and the Awesome-Redux list, but is much more comprehensive and includes more categories.

https://github.com/markerikson/redux-ecosystem-links

Tags
Implementation
License
Platform

   




Related Projects

redux-connect - Provides decorator for resolving async props in react-router, extremely useful for handling server-side rendering in React

  •    Javascript

How do you usually request data and store it to redux state? You create actions that do async jobs to load data, create reducer to save this data to redux state, then connect data to your component or container. Usually it's very similar routine tasks.

redux-webpack-es6-boilerplate - A starter project for modern React apps with Redux

  •    Javascript

Note: If you still want to use a previous version, please checkout old-original-structure branch. A boilerplate using the power and simplicity of React, Redux, Webpack 2 + HMR, and ES6 + JSX via Babel. Includes Webpack's Tree Shaking configuration. It's suitable for scalable applications and organized using the custom variation of the Ducks pattern — approach when each module's entry file (feature-name.js) contains all of its related constants, actions/action creators, selectors and its reducer.

redux-promise-middleware - Enables simple, yet robust handling of async action creators in Redux

  •    Javascript

Redux Promise Middleware enables simple, yet robust handling of async action creators in Redux. Given a single action with an async payload, the middleware transforms the action to a separate a pending action and a separate fulfilled/rejected action, representing the states of the async action.

redux-pack - Sensible promise handling and middleware for redux

  •    Javascript

redux-pack is a library that introduces promise-based middleware that allows async actions based on the lifecycle of a promise to be declarative. Async actions in redux are often done using redux-thunk or other middlewares. The problem with this approach is that it makes it too easy to use dispatch sequentially, and dispatch multiple "actions" as the result of the same interaction/event, where they probably should have just been a single action dispatch.

multireducer - A utility to wrap many copies of a single Redux reducer into a single key-based reducer

  •    Javascript

multireducer is a utility to wrap many copies of a single Redux reducer into a single key-based reducer. There are times when writing a Redux application where you might find yourself needing multiple copies of the same reducer. For example, you might need more than one list of the same type of object to be displayed. Rather than make a big reducer to handle list A, B, and C, and have action creators either in the form addToB(item) or addToList('B', item), it would be easier to write one "list" reducer, which is easier to write, reason about, and test, with a simpler add(item) API.


redux-test-recorder - a redux middleware to automatically generate tests for reducers through ui interaction

  •    Javascript

Redux test recorder is a redux middleware for automatically generating tests for your reducers based on the actions in your app. Currently I've written redux-test-recorder-react a component to provide a gui for recording tests in react but I'm hopeful recording components for other frameworks can be created in the future. Also take a look at our latest build which currently runs a test generated using this module by taking advantage of the eval command. For a better idea of what is going on, you can take a look at the test file here.

react-redux-links - Curated tutorial and resource links I've collected on React, Redux, ES6, and more

  •    

Curated tutorial and resource links I've collected on React, Redux, ES6, and more, meant to be a collection of high-quality articles and resources for someone who wants to learn about the React-Redux ecosystem, as well as a source for quality information on advanced topics and techniques. Not quite "awesome", but hopefully useful as a starting point I can give to others. Suggestions welcome. Another important resource is the Reactiflux community on Discord, which has chat channels dedicated to discussion of React, Redux, and other related technologies. There's always a number of people hanging out and answering questions, and it's a great place to ask questions and learn. The invite link is at https://www.reactiflux.com.

redux-observable - RxJS middleware for action side effects in Redux using "Epics"

  •    Javascript

RxJS 5-based middleware for Redux. Compose and cancel async actions to create side effects and more.This has peer dependencies of rxjs@5.x.x and redux, which will have to be installed as well.

react-redux-form - Create forms easily in React with Redux.

  •    Javascript

React Redux Form is a collection of reducer creators and action creators that make implementing even the most complex and custom forms with React and Redux simple and performant. That's all you need. Seriously. Read the Documentation for more information.

universal-redux - An npm package that lets you jump right into coding React and Redux with universal (isomorphic) rendering

  •    Javascript

Universal Redux is an npm package that when used as a dependency in your project provides a universal (isomorphic) rendering server. You can either use its defaults and begin coding your project, or configure it to your liking with custom Webpack options and Express or Redux middleware. It's intended as both an easy starting point for developers new to React and Redux, as well as an extensible base by which advanced developers can augment with their own middleware and keep up to date with the fast-moving React ecosystem. The quickest way to get started is to clone the starter project. This gives you a base project that is set up with default configurations of Webpack and Express.

redux-responsive - Manage the responsive state of your application using a redux reducer

  •    Javascript

A redux reducer for managing the responsive state of your application. redux-responsive does not require that you use React as your view library. However, since that is what is commonly used alongside redux, this documentation employs common React patterns.

redux-cycles - Bring functional reactive programming to Redux using Cycle.js

  •    Javascript

Handle redux async actions using Cycle.js. Then use createCycleMiddleware() which returns the redux middleware function with two driver factories attached: makeActionDriver() and makeStateDriver(). Use them when you call the Cycle run function (can be installed via npm install --save @cycle/run).

redux-react-local - local component state via redux

  •    Javascript

Add the supplied reducer to a key local on your redux store. However, because 'views' don't have global references / identities ala Backbone etc, communicating between these components can get cumbersome 2; we then resort to building some form of messaging system external to these components - callbacks, pubsub channels, flux stores, observable event chains, etc. The smart ones use context to expose these systems to a particular render tree, avoiding 'global' state, but still getting a similar model.

redux-electron-store - ⎋ A redux store enhancer that allows automatic synchronization between electron processes

  •    Javascript

This library solves the problem of synchronizing Redux stores in Electron apps. Electron is based on Chromium, and thus all Electron apps have a single main process and (potentially) multiple renderer processes, one for each web page. redux-electron-store allows us to define a store per process, and uses ipc to keep them in sync. It is implemented as a redux store enhancer. This library only works if the data in your store is immutable, as objects are compared by reference to determine changes. The data being synchronized must also be pure JavaScript objects.

redux-form - A Higher Order Component using react-redux to keep form state in a Redux store

  •    Javascript

redux-form works with React Redux to enable an html form in React to use Redux to store all of its state. You can play around with redux-form in these sandbox versions of the Examples.

redux-storage - Persistence layer for redux with flexible backends

  •    Javascript

Save and load the Redux state with ease. And you need to install at least one redux-storage-engine, as redux-storage is only the "management core".

statty - A tiny and unobtrusive state management library for React and Preact apps

  •    Javascript

Most of the time, I see colleagues starting React projects setting up Redux + a bunch of middlewares and store enhancers by default, regardless of the project nature.Despite Redux being awesome, it's not always needed and it may slow down the process of onboarding new developers, especially if they are new to the React ecosystem (I have often seen colleagues being stuck for hours trying to understand what was the proper way to submit a simple form).

redux-socket.io - An opinionated connector between socket.io and redux

  •    Javascript

An opinionated connector between socket.io and redux. Socket.io client->server messages should should be sent by dispatching actions to redux's store, where the action is the payload. Socket.io server->client messages should be dispatched as actions when received.

ngrx-actions - ⚡️ Actions and Reducer Utilities for NGRX

  •    TypeScript

Actions/reducer utility for NGRX. It provides a handful of functions to make NGRX/Redux more Angular-tastic. Inspired by redux-act and redux-actions for Redux.

redux-firestore - Redux bindings for Firestore

  •    Javascript

This assumes you are using npm as your package manager. It is common to make react components "functional" meaning that the component is just a function instead of being a class which extends React.Component. This can be useful, but can limit usage of lifecycle hooks and other features of Component Classes. recompose helps solve this by providing Higher Order Component functions such as withContext, lifecycle, and withHandlers.