1.0.0 • Published 6 years ago

@source4society/dynamic-sagas-and-reducers v1.0.0

Weekly downloads
16
License
AGPL-3.0
Repository
github
Last release
6 years ago

dynamic-sagas-and-reducers

Allows you to follow the pattern laid out in react-boilerplate for the dynamic injection of sagas and reducers with good separation of concerns

scepter-logo

redux-logo

react-boilerplate

airbnb-codestyle

Build Status

codecov

Usage

reducerInjector

Import { reducerInjector }. It takes an object containing the following parameters: { key: , reducer, isNamespaced: }. reducer is a redux style reducer function. The key should be unique in the store, unless isNamespaced is used. This will hook up the reducer dynamically

Namespacing

When using isNamespaced you must wrap your reducer in a lambda as follows in the class definition: (namespace) => <reducer function>. The namespace property will be present in the action and you should confirm the namespace matches what you are expecting. This is useful if you have many components of the same type but do not want to subscribe to the same type of events. See the source code for more information on how to build proper namespaced selectors.

sagaInjector

Import { sagaInjector }. It takes an object containing the following parameters: { key , saga }. saga is a property defined generator function that will subscribe to events. See redux-saga documentation for more information.

Installation

npm install @source4society/dynamic-sagas-and-reducers

or

yarn install @source4society/dynamic-sagas-and-reducers