@source4society/dynamic-sagas-and-reducers
v1.0.0
Published
Everything you need to inject reducers and sagas for your components
Downloads
3
Readme
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
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