A fetch middleware with extensible and opt-in functionalities like cache or log for Redux
MIT License
πππThe missing fetch middleware for enterprise Redux apps, with multiple injection point for implementing cache, log, response unification or any request related functionalities.πππ
WORK IN PROGRESS, USE AT YOUR OWN RISK
$ npm install -S redux-composable-fetch
redux-composable-fetch
provides a factory method createFetchMiddleware
and a utility function applyFetchMiddleware
, here's how you will use them:
import { applyMiddleware, createStore, compose } from 'redux';
import createFetchMiddleware, { applyFetchMiddleware } from 'redux-composable-fetch';
// import all your middlewares for `fetch`, you will see what is a `middleware for fetch` in the following content
import cacheMiddleware from './cacheMiddleware';
import logMiddleware from './logMiddleware';
// build our final fetch middleware first
const finalFetchMiddleware = applyFetchMiddleware(
cacheMiddleware,
logMiddleware,
);
// then it's all redux thingy
const finalCreateStore = compose(
applyMiddleware(finalFetchMiddleware)
)(createStore);