redux-submission
Pending and error states for promises in redux.
This heavily borrows from redux-pending, with error support added.
- Expects actions to be of the format {type, payload}
- Handles pending and error state of promises and emits actions to handle pending promises.
Install
$ npm install --save redux-submission
Usage
Three steps.
- Include
submissionMiddleware
into your store's middleware. This makes our library 'take over' promises. - Add
submissionReducer
to your reducers under thesubmission
key. - Use
getPending
andgetError
to check if an action is pending or errored.
const applyMiddleware createStore combineReduces = const connect = const submissionMiddleware submissionReducer = const finalCreateStore = createStore const reducers = ; const store =
Now, just emit the FETCH_ITEMS
action with a promise as the payload:
const React = const connect = const getPending getError = const MyComponent = React moduleexports = MyComponent
API
reduxSubmission
exports the following variables:
submissionMiddleware
Middleware for your store that manages promises.
submissionReducer
The reducer that you must put under the key submission
.
getError(actionType, state)
-> error|null
Returns an error if the last promise dispatched for this actionType was rejected.
If state
is not given, it will return a partially applied function.
getPending(actionType, state)
-> Boolean
Returns true if there is a currenly pending promise dispatched for this action type.
If state
is not given, it will return a partially applied function.
submissionPrefix(actionType)
-> String
Given an actionType
, returns the actionType
with the SUBMIT_
prefix.
License
MIT © Andrew Joslin