학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 71 · 실전 면접 답변

React 컴포넌트의 수명은 어떻게 이해해야 하나요?

이렇게 답해 보세요 (핵심 답변)

컴포넌트는 트리에 처음 추가되는 마운트(Mount), 입력 변화에 따라 화면을 다시 계산하는 업데이트(Update), 트리에서 제거되는 언마운트(Unmount) 과정을 거칩니다. 클래스 컴포넌트는 이를 수명주기 메서드로 다루고, 함수 컴포넌트는 순수한 렌더 계산과 useEffect를 통한 외부 시스템 동기화의 시작·정리(cleanup)로 나누어 다룹니다. 특히 렌더 호출 횟수와 실제 커밋 횟수가 항상 같지는 않으므로 외부 자원 연결은 언제든 안전하게 정리하고 재연결할 수 있도록 작성해야 합니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. 컴포넌트가 화면에 존재하는 수명과 개별 Effect가 외부 자원과 동기화되는 주기는 서로 다를 수 있습니다.
  2. setup과 cleanup을 대칭으로 작성해 두면 의존성 변경이나 Strict Mode의 재실행 검증에서도 리소스 누수를 막을 수 있습니다.

면접에서 자주 하는 실수

빈 의존성 배열([])을 가진 useEffect가 어떤 환경에서든 애플리케이션 전체에서 무조건 단 한 번만 실행된다고 단정해서는 안 됩니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 71번을 바탕으로 질문과 답변을 새로 정리했습니다.

← React