redux-request-generator
This is not yet released. API or the way it integrates into redux might change. Feedback welcome.
One function that creates actions and reducers for your http requests.
How is it different?
- not a middleware
- has tests
Browser support
By default fetch
is used, so it has to be there (or shimmed)
If you're considering shimming fetch, use require('redux-request-generator/xhr')
instead. It uses xhr for making http requests.
No support for IE8 or IE9, but you should be able to get it to work.
Usage
const defineRequests = const actions reducers = //use in your app;
definitions
is a map from state keys to request definitions:
definition:= url or Request object boolean //optional data //optional
redux-thunk
middleware is required for actions creator to work
Example
- Define requests available to your app.
const actions reducers =
- Add thunk middleware and combine defined reducers with your other reducers.
const createStoreWithMiddleware = createStoreconst reducer = const store =
- To fetch data dispatch just one action and both your helper functions will be given the arguments passed to the action.
store
- Use the key (
books
) in a component. Show loading indicator whileisFetching
is true.state.books
will contain:
isFetching
- set to true while the request is waiting for responseerror
- error object if there was an error fetching data{statusCode, messages}
data
- response or whatevermapper
returned after the response came in. Must be an object