tfrere's picture
simplify filters
f145689
raw
history blame
550 Bytes
import { useState, useEffect } from "react";
export const useDebounce = (value, delay = 200) => {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
// Si la valeur est vide, on met à jour immédiatement
if (!value || !value.trim()) {
setDebouncedValue("");
return;
}
// Sinon on attend le délai
const timer = setTimeout(() => {
setDebouncedValue(value);
}, delay);
return () => {
clearTimeout(timer);
};
}, [value, delay]);
return debouncedValue;
};