Debounce Action ![NPM version](https://badge.fury.io/js/debounce-action.svg)
Create debounced redux-thunk actions. Debounced actions will delay being dispatched until after wait
milliseconds have elapsed since the last time the debounced action was dispatched.
Installation
npm i --save debounce-action
Usage
import debounceAction from 'debounce-action';
const INCREMENT_COUNTER = 'INCREMENT_COUNTER';
function increment() {
return {
type: INCREMENT_COUNTER
};
}
function incrementThunk() {
return dispatch => {
dispatch(increment());
};
}
const incrementDebounced = debounceAction(increment, 1000);
const incrementThunkDebounced = debounceAction(incrementThunk, 5000, {leading: true});
import {createStore, applyMiddleware} from 'redux';
import thunk from 'redux-thunk';
import rootReducer from './reducers';
const store = createStore(
rootReducer,
applyMiddleware(thunk)
);
store.dispatch(incrementDebounced());
store.dispatch(incrementDebounced());
store.dispatch(incrementThunkDebounced());
store.dispatch(incrementThunkDebounced());
store.dispatch(incrementThunkDebounced());
Uses lodash's debounce
.
License
MIT