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; };