useMemo는 React에 성능 최적화를 위해 사용하는 훅이다.
useMemo를 사용하면 컴포넌트가 다시 렌더링 될 때마다 불필요한 비용이 드는 연산을 반복하는 것을 줄일 수 있다.
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
import React, { useMemo } from 'react';
function MyComponent({ a, b }) {
// a와 b가 변경되지 않으면 이전에 계산된 값 사용
const expensiveValue = useMemo(() => {
console.log("비싼 연산 중...");
return a + b; // 예를 들어 복잡한 연산
}, [a, b]);
return (
<div>
<p>계산된 값: {expensiveValue}</p>
</div>
);
}
위 코드에서 a와 b가 변경되지 않는다면 "비싼 연산 중..."은 콘솔로 다시 찍히지 않는다.
즉, expensiveValue 가 다시 계산되지 않고, 이전의 계산된 결과를 재사용한다.
결론은 연산 비용이 정말 크거나, 성능 문제가 발생할 때 사용하는 것이 좋다!