질문 78 · 실전 면접 답변
shouldComponentUpdate는 어떤 용도로 사용하나요?
이렇게 답해 보세요 (핵심 답변)
클래스 컴포넌트의 shouldComponentUpdate는 다음 props와 state를 받아 이번 업데이트에서 render 호출을 건너뛸지 결정하는 성능 최적화용 수명주기 메서드입니다. 기본 동작은 항상 true를 반환해 다시 그리는 것이며, 특정 프로퍼티만 비교해 불필요한 반복 렌더 비용을 줄이고 싶을 때 제한적으로 구현합니다. 하지만 비교 로직에서 함수 props나 상태 조건을 하나라도 빠뜨리면 화면이 갱신되지 않는 버그가 생기므로, 프로파일링으로 병목을 확인한 뒤 신중히 적용하거나 PureComponent를 우선 검토합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 비교 연산 자체가 컴포넌트 렌더 비용보다 무거우면 최적화가 아니라 오히려 오버헤드가 됩니다.
- 렌더 생략 여부는 성능 힌트일 뿐이므로 이 메서드가 호출되는 횟수나 시점에 비즈니스 로직이 의존해서는 안 됩니다.
면접에서 자주 하는 실수
shouldComponentUpdate 안에서 외부 상태를 변경하거나 부작용을 일으키는 용도로 사용하면 화면 정합성이 깨질 수 있습니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 78번을 바탕으로 질문과 답변을 새로 정리했습니다.