UNPKG

@render-props/throttle

Version:

A state container which limits the frequency with which setState can be called using `requestAnimationFrame`.

28 lines (21 loc) 416 B
import raf, {cancel} from 'raf' export default cb => { let frame function later (thisArg, args) { return function () { frame = void 0 cb.apply(thisArg, args) } } function throttled (...args) { if (frame === void 0) { frame = raf(later(this, args)) } } throttled.cancel = function () { if (frame !== void 0) { cancel(frame) } } return throttled }