UNPKG

@minimaltech/ra-infra

Version:

Minimal Technology ReactJS Infrastructure

22 lines 857 B
import { App } from '../../common/constants'; import { isBrowser } from '../../utilities/boolean.utility'; import React from 'react'; export const useDebounce = (params) => { const { value, delay, disabled } = params; //--------------------------------------------------------------------------- const [debouncedValue, setDebouncedValue] = React.useState(value); //--------------------------------------------------------------------------- React.useEffect(() => { if (!isBrowser() || disabled) { return; } const timer = setTimeout(() => { setDebouncedValue(value); }, delay || App.DEFAULT_DEBOUNCE_TIME); return () => { clearTimeout(timer); }; }, [value, delay, disabled]); return { debouncedValue }; }; //# sourceMappingURL=use-debounce.js.map