정의

<aside> ⌛ useCallback is a React Hook that lets you cache a function definition between re-renders.

</aside>

<aside> 🦜 useCallback은 리액트 훅으로 리렌더 간에 함수 정의를 캐시할 수 있습니다.

</aside>

→ 구성 요소의 최상위 층에서 callback을 사용하여 함수 정의를 캐시하는 형식


사용 방법

const cachedFn = useCallback(fn, dependencies)
import { useCallback } from 'react';

export default function ProductPage({ productId, referrer, theme }) {
  const handleSubmit = useCallback((orderDetails) => {
    post('/product/' + productId + '/buy', {
      referrer,
      orderDetails,
    });
  }, [productId, referrer]);

위 코드에서, productId와 referrer가 변화하지 않는 이상, 함수의 내용이 같으므로, 함수를 재 생성하지 않고 반환한다.