IT/React
[React] Debounce 정리
시린스
2023. 8. 23. 09:51
반응형
※ Debounce이란?
- 이벤트를 호출 시 연속적으로 여러번 호출 되는 것이 아닌 일정한 시간 동안 지연 시간을 주어 반복 횟수를 제어하는 것 입니다.
import { useRef, useState } from 'react';
export const useDebounce = (value) => {
const [DebouncedVal, setDebouncedVal] = useState(value);
const eventBlocker = useRef(null);
//Timeout을 초기화 시켜줍니다.
clearTimeout(eventBlocker.current);
//일정 시간 동안 지연을 시켜줍니다.
eventBlocker.current = setTimeout(() => {
setDebouncedVal(value);
}, 500);
return DebouncedVal;
};