redux-entities-immutable
v0.0.2
Published
Higher-order reducer for immutable store entities received from gaearon's normalizr and makes it easy to handle them.
Downloads
5
Maintainers
Readme
Redux Entities Immutable
Higher-order reducer for store entities received from gaearon's normalizr and makes it easy to handle them.
Installation
npm install --save redux-entities-immutable
Usage
WIP
Use with combineEntitiesReducers
import { combineEntitiesReducers } from 'redux-entities-immutable';
import { contacts, groups, images, notes } from './entities'
export default combineEntitiesReducers({
contacts,
groups,
images,
notes
});
Use with entitiesReducer
import { combineReducers } from 'redux';
import { entitiesReducer } from 'redux-entities-immutable';
function contacts(state = {}, action) {
const { type, /* , payload */ meta } = action;
switch (type) {
case UPDATE_CONTACT:
case REMOVE_CONTACT:
return state.merge({ [payload.id]: { isPending: true } });
case UPDATE_CONTACT_SUCCESS:
return state.merge({ [payload.id]: { isPending: false } });
case REMOVE_CONTACT_SUCCESS:
return state.delete(meta.id);
default:
return state;
}
}
export default combineReducers({
contacts: entitiesReducer(contacts, 'contacts')
});