useMemo
는 React의 훅 중 하나로, 계산 비용이 많이 드는 함수의 결과를 메모이제이션하는 데 사용됩니다. 메모이제이션은 이전에 계산한 값을 저장하여 동일한 계산을 반복하지 않도록 하는 최적화 기법입니다.
useMemo
훅은 두 가지 인수를 받습니다: 첫 번째 인수는 메모이제이션할 함수 또는 계산 로직을 정의한 콜백 함수이고, 두 번째 인수는 의존성 배열입니다. 의존성 배열은 메모이제이션된 값이 변경될 때마다 함수를 다시 계산하도록 트리거하는 역할을 합니다.
useMemo
는 렌더링 중에 호출되며, 이전에 계산된 결과를 반환합니다. 의존성 배열에 변경이 없는 한, 다음 렌더링에서는 이전에 계산한 값을 재사용합니다. 이는 계산 비용이 큰 함수나 연산을 수행하는 경우 성능을 향상시키는 데 도움이 됩니다.
다음은 useMemo
의 예제입니다:
import React, { useMemo } from 'react';
function MyComponent({ a, b }) {
const result = useMemo(() => {
// 계산 비용이 큰 함수나 연산
return a + b;
}, [a, b]);
return <div>{result}</div>;
}
위의 예제에서, result
변수는 a
와 b
의 값을 합산하는 연산의 결과를 나타냅니다. useMemo
를 사용하여 이 연산 결과를 메모이제이션하고, a
와 b
가 변경되지 않는 한 이전에 계산된 값을 재사용합니다. 이렇게 함으로써 불필요한 연산을 줄이고 성능을 향상시킬 수 있습니다.
useMemo
는 주로 계산 비용이 큰 함수나 연산을 수행하는 경우에 사용됩니다. 예를 들어, 데이터를 가공하거나 정렬하는 등의 작업에 활용할 수 있습니다.