Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2774 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 2774 Rev 3719
Línea 1... Línea 1...
1
import { useEffect, useRef, useState } from 'react'
1
import { useEffect, useRef, useState } from 'react';
2
 
2
 
3
export function useDebounce(value, delay = 500) {
3
export function useDebounce(value, delay = 500) {
4
  const [debouncedValue, setDebouncedValue] = useState('')
4
  const [debouncedValue, setDebouncedValue] = useState('');
5
  const timerRef = useRef()
5
  const timerRef = useRef();
6
 
6
 
7
  useEffect(() => {
7
  useEffect(() => {
8
    timerRef.current = setTimeout(() => setDebouncedValue(value), delay)
8
    timerRef.current = setTimeout(() => setDebouncedValue(value), delay);
9
 
9
 
10
    return () => {
10
    return () => {
11
      clearTimeout(timerRef.current)
11
      clearTimeout(timerRef.current);
12
    }
12
    };
13
  }, [value, delay])
13
  }, [value, delay]);
14
 
14
 
15
  return debouncedValue
15
  return debouncedValue;
16
}
16
}