얕은 비교
문자열과 숫자는 값으로 비교되지만 객체, 배열, 함수는 참조가 바뀌면 다른 props로 판단됩니다.
React.memo는 컴포넌트 결과를 기억하는 도구가 아니라 props의 얕은 비교로 렌더 후보를 줄이는 장치입니다.
문자열과 숫자는 값으로 비교되지만 객체, 배열, 함수는 참조가 바뀌면 다른 props로 판단됩니다.
부모가 매 렌더마다 새 객체나 콜백을 만들면 memo된 자식도 다시 렌더될 수 있습니다.
렌더 비용이 작거나 props 비교가 더 비싸면 memo는 성능보다 복잡도를 늘릴 수 있습니다.
원시 값 props는 비교 기준이 흔들리지 않으므로 memo 효과를 먼저 측정할 후보입니다.
함수 props가 원인이라면 useCallback과 함께 보되 의존성 값이 정확한지 먼저 점검합니다.
Profiler에서 렌더 시간이 의미 있게 줄어드는지 확인한 뒤 최적화 코드를 남깁니다.