데브허브 | DEVHUB | 2025 React Master Class - 10강: useCallback이란 무엇인가?2025 React Master Class - 10강: useCallback이란 무엇인가?
useCallback은 useMemo와 유사하게 렌더링 성능 최적화를 위해 함수를 재사용하도록 돕는 React Hook입니다. 🚀
- 첫 번째 인자에 함수를, 두 번째 인자에 의존성 배열을 넣어 사용하며,
useEffect와 useMemo와 구조가 동일합니다. 🛠️
- 의존성 배열이 비어있으면 (
[]), 컴포넌트 최초 렌더링 시 단 한 번만 함수를 생성하고 이후 계속 재사용하여 리소스 낭비를 줄입니다. ♻️
- 의존성 배열에 특정 상태 값(예:
number, list)을 명시하면, 해당 값이 변경될 때만 함수를 새로 생성하여 최신 값을 반영하고 클로저 문제를 방지합니다. 🔄
- 의존성 배열을 잘못 설정(예: 빈 배열로 고정)하면, 함수가 초기 상태 값에 갇혀(클로저 오버) 최신 데이터로 동작하지 않는 문제가 발생할 수 있습니다. ⚠️
useCallback을 통해 불필요한 함수 재생성을 막아 컴포넌트의 함수 기능 최적화를 달성할 수 있습니다. ✨