redux-axios-reducers
Redux reducers for fetching data with axios HTTP client
Installation
npm install --save redux-axios-reducers
Dependencies
redux-axios-reducers
depends on redux
, redux-thunk
.
How to use?
Configure and connect an Axios reducer
;; const usersReducer = name: 'users'; const client = axios; const reducers = ; const store =
Dispatch actions
A reducer instance has methods which generate async (redux-thunk) actions. The actions do HTTP request.
// HTTP GET /api/users usersReducer // HTTP GET /api/users?status=active usersReducer // HTTP PUT /api/users/1 usersReducer // Redux-thunk middleware { } // Redux-thunk middleware, chain methods { Promiseall }
Reduce actions
A reducer is generating TYPES based on given name:
reducerInstanceTYPES // { // FETCHING: `ASYNC/${name.toUpperCase()}/FETCHING` // FETCH_FAIL: `ASYNC/${name.toUpperCase()}/FETCH_FAIL` // FETCH_SUCCESS: `ASYNC/${name.toUpperCase()}/SUCCESS` // // }
So you can use it in your own reducers like usersReducer.TYPES.FETCH_SUCCESS
Reducers methods
AxiosReducer/AxiosRestReducer
method | description |
---|---|
get/fetch | HTTP GET accepts AxiosParams |
post | HTTP POST accepts AxiosParams |
put | HTTP PUT accepts AxiosParams |
patch | HTTP PATCH accepts AxiosParams |
remove | HTTP DELETE accepts AxiosParams |
License
This project is licensed under the MIT license, Copyright (c) 2017 Kirill Klenov. For more information see LICENSE.md
.
Acknowledgements
Dan Abramov for Redux Matt Zabriskie for Axios. A Promise based HTTP client for the browser and node.js