Redux Clonable
Use redux-cloneable and never write another reducer again.
Instalation
Redux-cloneable is distributed as a npm package
npm install --save redux-cloneable
It can then be imported as a module
;
Design
Redux-cloneable exports several abstract reducers, which are then cloned into your redux store. When an abstract reducer is cloned, it is passed a unique prefix value to identify it. Redux-cloneable also exports multiple meta action creators, which are then used to create action creators which are bound to a specific reducer. Lastly, redux-cloneable exports selectors, which can be composed with higher level selectors to fetch parts of the state.
A note about imports
All parts can be imported from the bundle as follows
;
Or they can be imported as es6 with annotations like this
;
Usage
Redux cloneable has multiple abstract reducers, the simplest of which is a key value store.
First add the reducer. The reducers only parameter is its prefix. The prefix is added to actions to identify them.
// Reducer.js;; kvs: ;
Then add the types
// Types.js; const set reset } = ;
And add the actions
// Actions; const setKvs = ;const resetKvs = ;
Lastly, add the selectors
;; const getKvs = ;
Then
- dispatch actions
- select store
- ???
- profit
;; store;; // { a: 1, b: 2 }store; // {}