npm.io
0.0.7 • Published 7 years ago

redux-hor

Licence
MIT
Version
0.0.7
Deps
1
Size
18 kB
Vulns
0
Weekly
0
Stars
3

Redux-HOR

Higher-order Redux is a utility belt for Redux that makes heavy use of higher-order reducers to provide:

  • Reduced boilerplate
  • Increased modularity
  • Development speedup

Oh, btw... Higher-order reducer is a function that takes a reducer argument and returns a new reducer:

HigherOrderReducer<State, Action> = (innerReducer: Reducer<State, Action>): Reducer<State, Action>

Installation

yarn add redux-hor

Quick start

Here's a standard reducer that we all know an love:

export default function reducer (state = initialState, action) {
  if (action.type === 'UPDATE_AUTHOR') {
    return {
      ...state,
      author: action.payload
    }
  }

  return state
}

Compare it with HoR style:

import { compose, withActionType, withInitialState, mergeState, identity } from 'redux-hor'

export compose(
  onAction('UPDATE_AUTHOR', () => merge({ author: action.payload }))
)(init(initialState))

API docs

Read them here

Keywords