reduxerit
reduxerit is strongly influenced from redux-modifiers (https://github.com/calvinfroedge/redux-modifiers), It try to semplify writing the redux reducer, but without using immutablejs.
it is intended to work with redux-actions (https://github.com/acdlite/redux-actions) , but it is not mandatory.
How it looks like:
const reducerToDoList = ;
DOCS
simple example:
often you want just assign the entire payload of your action to a particular reducer. you can do it like this
const apiResponse =
now if you raise an action with a payload, you will see the entire apiResponse state equals to the palyload
store
now store.getState().apiResponse
will be js { data:[]}}
the reducer without reduxerit would be:
/*WITHOUT REDUXERIT */ const apiResponse =
why you have to use set()
and not set
?
becouse the first argument can be a subpatch of the state you want to modify. Let's do an example:
you have an api witch returns you {data:[],pages:{cur:1, totPages:100} }. Let's say that you have 2 methods in this api, 1 to get the whole response and one to refresh just totPages. With reduxerit you can do it like this:
const apiResponse =
let's see the code without reduxerit:
/* WITHOUT REDUXERIT*/const apiResponse =
lot of "boilerplate", right?
when to NOT use reduxerit
redux comes with the combineReducers
function, so you should use it as mutch as you can. as intance, if you need a "loading" status for the api, you should use combineReducers
rather then reduxerit:
const loading = const api = so don't use reduxerit if you don't need it!
reduxerit api:
here are the reduxerit api:
reduxerit function (they all return a function like (state, action) => newState )
- set
- update
- merge
- deepmerge
- remove
- push
- removeIdx
utils (all the function above are based from those utils functions):
- setIn
- updateIn
- removeIn
look the tests for more details: https://github.com/jurgob/reduxerit/tree/master/test