Redux Request Maker
This is a mini abstraction for making network requests with redux. The lib will manage the 4 high level state possibilities of networking requests, including not-asked
, loading
, success
, and failure
states.
The request states (this lib calls them status
or statuses
) idea comes from this blog post.
Installation
We need to install redux-request-maker
and lodash
as lodash
is a peerDependency
of redux-request-maker
.
npm install --save redux-request-maker lodash
Configure store with redux-request-maker
middleware.
// ./store/configure.jsimport { createStore, applyMiddleware, compose } from 'redux';+ import { middleware as reduxRequestMiddleware } from 'redux-request-maker';import thunkMiddleware from 'redux-thunk';import createRootReducer from './reducers'; const middleware = [ thunkMiddleware,+ reduxRequestMiddleware,]; const createStoreWithMiddleware = compose( applyMiddleware(...middleware))(createStore); function configureStore (initialState = {}) { const reducers = createRootReducer(persistCombineReducers); const store = createStoreWithMiddleware(reducers, initialState); return store;}; export default configureStore;
Example Usage
createReduxRequest Example
Use createReduxRequest
non collective result request.
;; const request reducer = ; const fetchAllTickers = request;;
createReduxCollRequest Example
Use createReduxCollRequest
for the collective result request.
;;; const reducer request = ; const fetchTicker = request;;