Skip to content

Create reducer from object of action handlers for use with redux.

License

Notifications You must be signed in to change notification settings

nrn/create-reducer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

create-reducer

Create a redux reducer from an object of action handling functions, keyed by the actions they handle. Has createReducer.compose(fns) helper function to combine multiple action handlers into a single action. Big thanks to dlmanning, our conversations lead me here.

var createReducer = require('create-reducer')

// setup handlers, object keys for action types
var handlers = {
  add: add,
  multiply: multiply,
  // compose handler functions together for compound actions.
  addThenMultiply: createReducer.compose(add, multiply)
}

module.exports = createReducer(handlers, function () {
  return { num: 0 }
})

// actual action handling functions, down out of the way.
function add (state, action) {
  return {
    num: state.num + action.payload
  }
}

function multiply (state, action) {
  return {
    num: state.num * action.payload
  }
}

About

Create reducer from object of action handlers for use with redux.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published