commerce/hooks/use-debounce.tsx
Chloe cc2c79764d
add PDP content
Signed-off-by: Chloe <pinkcloudvnn@gmail.com>
2024-07-07 11:09:24 +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;
};