반응형
※ 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;
};
'IT > React' 카테고리의 다른 글
[React] 페이징 Paging (0) | 2024.09.24 |
---|---|
[React] framer-motion을 이용한 간단한 아코디언 만들기 (0) | 2024.02.19 |
[React] uncontrolled input이라는 에러 해결 (0) | 2023.08.08 |
[React] 커스텀 Hooks 정리 (0) | 2023.08.08 |
[React] React 18 버전에서의 Suspense (0) | 2023.08.02 |