resolve-promise-middleware
combined with redux-promise-middleware
allows to use the resolved value of an async payload without accessing the store.
$ npm install resolve-promise-middleware --save
Apply it before promiseMiddleware
import promiseMiddleware from 'redux-promise-middleware';
import { resolvePromiseMiddleware } from "resolve-promise-middleware";
composeStoreWithMiddleware = applyMiddleware(
resolvePromiseMiddleware
promiseMiddleware(),
)(createStore)
const asyncAction = () => ({
type: 'PROMISE',
payload: new Promise(...)
})
getDogs().then(dogs => this.dogs = dogs);
getDogs() {
return store.dispatch(asyncAction)
.catch(handleError)