UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

14 lines (10 loc) 485 B
/* eslint-disable react-hooks/exhaustive-deps */ import { useMemo, useCallback } from "react"; import _throttle from "lodash/throttle"; export default function useThrottledCallback(callback, { wait, trailing = true }, dependencies) { const throttledFunction = useMemo(() => { return _throttle(callback, wait, { trailing }); }, [wait, trailing, ...dependencies]); const throttledCallback = useCallback(throttledFunction, [throttledFunction]); return throttledCallback; }