질문 93 · 실전 면접 답변
Context는 어떤 데이터를 전달하는 데 적합한가요?
이렇게 답해 보세요 (핵심 답변)
Context는 부모에서 깊은 하위 트리로 props를 일일이 거치지 않고 값을 직접 공급할 수 있게 해 주는 React의 데이터 전달 메커니즘입니다. 테마, 다국어 로케일, 현재 로그인한 사용자 정보, 라우터 문맥처럼 여러 깊이의 컴포넌트가 공통으로 읽어야 하는 값에 적합합니다. 다만 Context의 value가 바뀌면 그 Context를 구독하는 하위 소비자들이 모두 재렌더 대상이 되므로, 자주 바뀌는 값과 거의 바뀌지 않는 값을 분리하고 필요한 트리 범위에만 Provider를 배치하는 것이 중요합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 중간 레이아웃 컴포넌트들이 자신이 쓰지 않는 공통 설정 props를 전달하는 부담을 덜어 줍니다.
- 하나의 거대한 객체에 모든 상태와 함수를 묶어 Context로 내려주면 작은 상태 하나가 바뀔 때도 전체 소비자가 다시 렌더링될 수 있습니다.
면접에서 자주 하는 실수
Context는 값을 하위 트리에 전달하는 통로일 뿐 그 자체로 상태를 영구 저장하거나 서버 캐시·부분 구독 최적화를 자동으로 제공하는 상태 관리 라이브러리가 아닙니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 93번을 바탕으로 질문과 답변을 새로 정리했습니다.