UNPKG

omnipay-savings-sdk

Version:

Omnipay Savings SDK

26 lines (20 loc) 617 B
import {useState, useEffect} from 'react'; function useDebounce(value: any, delay: number, includeEmpty: boolean = false) { const [debouncedValue, setDebouncedValue] = useState(value); useEffect(() => { // Set a timeout to update debounced value after delay const handler = setTimeout(() => { setDebouncedValue(value); }, delay); // Clean up the timeout on unmount or value change return () => { clearTimeout(handler); }; }, [value, delay]); if (includeEmpty || value !== '') { return debouncedValue; } else { return value; } } export default useDebounce;