Redux Resource Action Creators
Last updated
import createActionCreators from 'redux-resource-action-creators';import createActionCreators from 'redux-resource-action-creators';
import store from './store';
const readActionCreators = createActionCreators('read', {
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks',
mergeListIds: false
});
store.dispatch(readActionCreators.pending());
const req = fetchData((err, res, body) => {
if (req.aborted) {
store.dispatch(readActionCreators.idle());
} else if (err) {
store.dispatch(readActionCreators.failed());
} else {
store.dispatch(readActionCreators.succeeded({
resources: body
}));
}
});import { actionTypes } from 'redux-resource';
import store from './store';
store.dispatch({
type: actionTypes.READ_RESOURCES_PENDING,
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks'
});
const req = fetchData((err, res, body) => {
if (req.aborted) {
store.dispatch({
type: actionTypes.READ_RESOURCES_NULL,
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks'
});
} else if (err) {
store.dispatch({
type: actionTypes.READ_RESOURCES_FAILED,
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks'
});
} else {
store.dispatch(readActionCreators.succeeded({
type: actionTypes.READ_RESOURCES_SUCCEEDED,
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks',
resources: body
}));
}
});import { actionTypes } from 'redux-resource';
import store from './store';
const actionDefaults = {
resourceType: 'books',
requestKey: 'getHomePageBooks',
list: 'homePageBooks'
};
store.dispatch({
...actionDefaults,
type: actionTypes.READ_RESOURCES_PENDING,
});
const req = fetchData((err, res, body) => {
if (req.aborted) {
store.dispatch({
...actionDefaults,
type: actionTypes.READ_RESOURCES_NULL,
});
} else if (err) {
store.dispatch({
...actionDefaults,
type: actionTypes.READ_RESOURCES_FAILED,
});
} else {
store.dispatch(readActionCreators.succeeded({
...actionDefaults,
type: actionTypes.READ_RESOURCES_SUCCEEDED,
resources: body
}));
}
});