switchreducerr
Description
A simple and small Redux library designed to reduce the verbose boiler plate of the "default" switch statement reducer pattern.
switchreducer
The operation of switchreducer
is dead simple. It takes two arguments, the initial state, and a function that's passed a single argument object parameter of the state
and the action
properties, ie ({state, ...action})
. This function expects a return of a lookup table composed of "action" cases which are invoked when a "action" type matches.
;
Example
; // actions + stateconst SET_FILTER = 'SET_FILTER';const SET_COLOR = 'SET_COLOR';const initialState = {}; // reducerconst myReducer = ;
"default" reducer comparison
For comparison here's what the above reducer would look like using the "default" switch statement pattern.
// actions + stateconst SET_FILTER = 'SET_FILTER';const SET_COLOR = 'SET_COLOR';const initialState = {}; // reducerconst myReducer = { const type payload = action; };
switchcase
You may prefer and/or there may be cases that the switchcase
lookup table helper is a better fit. The switchcase
function is the "real" logic behind switchreducer
. It expects a "action" lookup table and two curried arguments the state and the "action" type.
<state><action-type>;
Example
; // actions + stateconst SET_FILTER = 'SET_FILTER';const SET_COLOR = 'SET_COLOR';const initialState = {}; // reducerconst myReducer = { const type payload = action; return statetype;};
Best, te