Spaces:
Running
Running
| 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; | |
| }; | |