commerce/hooks/index.tsx
Chloe be494b489c
refactor: rename variables and create hooks
Signed-off-by: Chloe <pinkcloudvnn@gmail.com>
2024-05-08 08:38:44 +07:00

17 lines
446 B
TypeScript

import { useEffect, useRef, useState } from 'react';
export const useDebounce = (value: string, delay = 500) => {
const [debouncedValue, setDebouncedValue] = useState('');
const timerRef = useRef<ReturnType<typeof setTimeout>>();
useEffect(() => {
timerRef.current = setTimeout(() => setDebouncedValue(value), delay);
return () => {
clearTimeout(timerRef.current);
};
}, [value, delay]);
return debouncedValue;
};