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

Fanta Lab

질문 93 · 실전 면접 답변

Context는 어떤 데이터를 전달하는 데 적합한가요?

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

Context는 부모에서 깊은 하위 트리로 props를 일일이 거치지 않고 값을 직접 공급할 수 있게 해 주는 React의 데이터 전달 메커니즘입니다. 테마, 다국어 로케일, 현재 로그인한 사용자 정보, 라우터 문맥처럼 여러 깊이의 컴포넌트가 공통으로 읽어야 하는 값에 적합합니다. 다만 Context의 value가 바뀌면 그 Context를 구독하는 하위 소비자들이 모두 재렌더 대상이 되므로, 자주 바뀌는 값과 거의 바뀌지 않는 값을 분리하고 필요한 트리 범위에만 Provider를 배치하는 것이 중요합니다.

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

  1. 중간 레이아웃 컴포넌트들이 자신이 쓰지 않는 공통 설정 props를 전달하는 부담을 덜어 줍니다.
  2. 하나의 거대한 객체에 모든 상태와 함수를 묶어 Context로 내려주면 작은 상태 하나가 바뀔 때도 전체 소비자가 다시 렌더링될 수 있습니다.

면접에서 자주 하는 실수

Context는 값을 하위 트리에 전달하는 통로일 뿐 그 자체로 상태를 영구 저장하거나 서버 캐시·부분 구독 최적화를 자동으로 제공하는 상태 관리 라이브러리가 아닙니다.

원리와 예제까지 읽기

공식 참고 자료

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

← React