실제 병목 확인 후 적용 원칙 중심으로 푸는 결
저의 기준은 단순합니다. 프로파일러로 실제 병목을 확인하기 전에는 먼저 최적화하지 않는다는 것입니다. 처음 리액트를 배울 때 모든 컴포넌트에 와 을 붙이는 게 좋다고 생각했는데, 오히려 의존성 배열 관리가 복잡해지고 코드 가독성만 떨어지는 경험을 했습니다. 지금은 는 계산 비용이 명확하게 큰 연산에만 씁니다. 예를 들어 리스트 필터링이나 정렬을 매 렌더마다 반복하는 경우가 여기 해당합니다. 단순한 덧셈이나 문자열 변환에는 쓰지 않습니다. 은 자식 컴포넌트에 함수를 props로 내려줄 때, 그 자식이 로 감싸져 있는 경우에 의미가 생깁니다. 그렇지 않으면 만 써도 자식은 어차피 재렌더됩니다. 는 props가 자주 바뀌지 않는데 렌더 비용이 높은 컴포넌트에 씁니다. 반대로 props가 자주 바뀌면 얕은 비교 비용만 추가되고 실익이 없습니다. 결국 세 가지 모두 측정 없이 쓰면 복잡도만 높이는 도구라는 게 제 판단 기준입니다.