redux-middleware-oneshot
v0.1.1
Published
Create a middleware
Downloads
21
Maintainers
Readme
redux-middleware-oneshot
Create Redux actions from arbitraty sources out of middlewares.
Installation
npm install --save redux-middleware-oneshot
Usage
// In this example, we want to create someAction in redux for every
// change-event emitted by someEventEmitter
import someEventEmitter from './someEventEmitter';
import someAction from './someAction';
// And for this we simply create a new oneShot middleware
import createOneShot from 'redux-middleware-oneshot';
const myMiddleware = createOneShot((dispatch) => {
// This function is called exactly once as soon as the first action
// runs through redux. Perfect moment to glue things together!
someEventEmitter.addEventListener('change', (event) => {
dispatch(someAction(event.value));
});
});
// Everything else is straight forward Redux ...
import { createStore, applyMiddleware, combineReducers } from 'redux';
const createStoreWithMiddleware = applyMiddleware(myMiddleware)(createStore);
const store = createStoreWithMiddleware(/* reducer */);
Todo
Write tests for everything!