useCallback은 콜백의 메모이제이션된 버전을 반환할것이다.
그리고 콜백의 의존성이 변경되었을 때에만 변경되게 된다.
const memoizedCallback = useCallback(
() => {
doSomething(a, b);
},
[a, b],
);
useCallback(fn, deps) 은 useMemo(() ⇒ fn, deps) 와 같다.
useMemo는 특정 결과값을 재사용 할때 사용하는 반면, useCallback 은 특정 함수를 새로 만들지 않고 재사용하고 싶을 때 사용한다.