Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

use-debounce.ts 396B

1234567891011121314151617
  1. import { useEffect, useState } from 'react';
  2. const useDebounce = (value: string, delay: number) => {
  3. const [debouncedValue, setDebouncedValue] = useState(value);
  4. useEffect(() => {
  5. const timer = setTimeout(() => setDebouncedValue(value), delay || 500);
  6. return () => {
  7. clearTimeout(timer);
  8. };
  9. }, [value, delay]);
  10. return debouncedValue;
  11. };
  12. export default useDebounce;