1. 🔍 왜 디바운스를 적용했는가?

사용자가 카테고리를 선택할 때마다 서버에 API 요청을 보내는 구조에서는 다음 문제가 발생할 수 있습니다:

👉 이를 해결하기 위해 **lodash의 debounce**를 활용하여 요청 빈도를 제한했습니다.


2. ⏳ debounce란?

debounce는 짧은 시간 안에 반복해서 실행되는 함수 호출을 제어하는 기법입니다.

마지막 호출 이후 지정된 시간(delay)이 지나면 단 한 번만 실행됩니다.

📌 예시:

500ms 디바운스를 적용하면 사용자가 카테고리를 0.1초마다 클릭해도,

마지막 클릭으로부터 0.5초 뒤에 단 1번만 API 요청이 일어납니다.


3. ⚙️ useCallback vs useMemo – 언제 무엇을 써야 할까?

✅ useCallback

const handleClick = useCallback(() => {
  console.log('clicked!')
}, [])

✅ useMemo