redux-split-reducer

0.0.7 • Public • Published

redux-split-reducer

build status

Library for more redux friendly configuration of reducers. It aims on splitting reducers on same state branch.

Thanks to this library, you can configure store, without using some boring switches or ifs. But just with conditional functions. It is based on cond function from ramda library.

It contains some type condition functions support. Also dummyReducer implementation, that reduce state without changes and empty object as default state.

Installation

$ npm install redux-split-reducer ramda ramda-extension

or

$ yarn add redux-split-reducer ramda ramda-extension

Usage

import { combineReducers } from 'redux';
import { routerReducer } from 'react-router-redux';
import splitReducer, { typeEq, typeIn } from 'redux-split-reducer';

const rootReducer = combineReducers({
	routing: routerReducer,
	form: combineReducers({
		globalErrors: globalErrorsReducer,
		state: splitReducer([
			[typeEq('UPDATE_FORM_STATE'), formStateReducer]
		], formReducer('FORM_NAME')),
		contractData: splitReducer([
			[typeIn(['DEEP_MERGE_CONTRACT_DATA', 'ASSOC_CONTRACT_DATA']), contractDataReducer]
		], multiFormReducer),
	}),
	error: errorReducer,
});

NOTE: Ramda and ramda-extension itself is not part of bundle, you need to add it manually

Package Sidebar

Install

npm i redux-split-reducer

Weekly Downloads

0

Version

0.0.7

License

MIT

Unpacked Size

34.3 kB

Total Files

11

Last publish

Collaborators

  • jbradle