For comparisons between side effect approaches, see What is the right way to do asynchronous operations in Redux?.
-
redux-thunk
https://github.com/gaearon/redux-thunk
The simplest possible side effects approach: dispatch functions instead of objects, which then get access todispatch
andgetState
. (Variations on the concept listed on the Middleware page.) -
redux-saga
https://github.com/redux-saga/redux-saga
Generator-based side effects approach. Create "sagas", which act like background threads or daemons that can listen for actions and dispatch objects describing side effects. -
redux-loop
https://github.com/raisemarketplace/redux-loop
Sequence your effects naturally and purely by returning them from your reducers. Also returns descriptive objects, which are executed later. -
redux-observable
https://github.com/redux-observable/redux-observable
RxJS 5-based middleware for Redux. Compose and cancel async actions and more. -
redux-logic
https://github.com/jeffbski/redux-logic
Redux middleware for organizing business logic and action side effects.