UNPKG

@e-group/hooks

Version:

eGroup team react-hooks that share across projects.

18 lines (17 loc) 549 B
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; import { useState, useEffect } from 'react'; export default function useDebounce(value, delay) { const _useState = useState(value), _useState2 = _slicedToArray(_useState, 2), debouncedValue = _useState2[0], setDebouncedValue = _useState2[1]; useEffect(() => { const handler = setTimeout(() => { setDebouncedValue(value); }, delay); return () => { clearTimeout(handler); }; }, [value, delay]); return debouncedValue; }