UNPKG

grommet

Version:

focus on the essential experience

21 lines 632 B
import { useEffect, useState } from 'react'; import { useThemeValue } from './useThemeValue'; export var useDebounce = function useDebounce(debounceDelay) { var _useState = useState(), func = _useState[0], setFunc = _useState[1]; var _useThemeValue = useThemeValue(), theme = _useThemeValue.theme; var delay = debounceDelay || theme.global.debounceDelay; useEffect(function () { var timer; if (func) timer = setTimeout(function () { return func(); }, delay); return function () { return clearTimeout(timer); }; }, [func, delay]); return setFunc; }; export default useDebounce;