reactjs-input-search
Version:
search input with suggestion
21 lines • 452 B
JavaScript
import { useState, useEffect } from 'react';
const useDebounce = (callback, delay) => {
const [value, setValue] = useState('');
useEffect(() => {
const handler = setTimeout(() => {
if (value) callback(value);
}, delay);
return () => {
clearTimeout(handler);
};
}, [value]);
const handleChange = val => {
setValue(val);
};
return {
value,
handleChange,
setValue
};
};
export default useDebounce;