FSA-compliant middleware for Redux to debounce actions.
$ npm install --save redux-debounce
// Store setup
import { applyMiddleware, createStore } from 'redux'
import createDebounce from 'redux-debounce'
import createLogger from 'redux-logger'
import promise from 'redux-promise'
import thunk from 'redux-thunk'
const config = {
simple: 300
}
const debouncer = createDebounce(config)
const logger = createLogger()
const createMiddleware = applyMiddleware(thunk, debouncer, promise, logger)
const store = createMiddleware(createStore)(reducer)
const debounceAction = () => ({
meta: {
debounce: 'simple',
},
type: 'TEST',
})
Debounce middleware should be placed near the top of the chain.
See the example directory.
$ cd example
$ npm install
$ npm start
redux-debounce
exposes single constructor function for creating debounce middleware.
createDebounce( options: Object )
Each option is a property to setup different debounces for different actions.
Number of milliseconds to debounce the action for.
Number of milliseconds to debounce the action for.
Maximum number of milliseconds before the action is called.
See lodash for the rest of the supported options.
Copyright © 2015-2016 Neil Kistner
Released under the MIT license. See license for details.