✨
useCallback정확히 쓰기 : 함수 재생성 방지와 최적화의 균형
useCallback과 함수 재생성 방지useCallback은 이를 위한 메모이제이션 훅이다.useCallback이란?useMemo와 비슷하지만, 값이 아닌 "함수"를 반환한다.const onCreate = useCallback(() => {
console.log("created!");
}, []);
React에서는 컴포넌트가 리렌더링될 때 함수도 다시 생성된다.
이는 보통 문제가 되지 않지만, 다음과 같은 경우에는 성능 이슈로 이어질 수 있다.
props로 함수를 넘길 때 → 자식 컴포넌트가 불필요하게 리렌더링됨useEffect, useMemo, React.memo 등에서 의존성으로 쓰일 때✅ 일반적으로는 "너무 일찍 최적화하지 말라"는 원칙이 유효
먼저 기능을 완성하고, 성능 문제를 느끼는 시점에서 적용하는 것이 좋다.
useCallback은 함수 버전의 useMemoReact.memo와 함께 사용하면 리렌더링 최적화에 효과적