질문 108 · 실전 면접 답변
Context와 Redux는 어떤 기준으로 비교해야 하나요?
이렇게 답해 보세요 (핵심 답변)
Context는 상위 컴포넌트의 값을 하위 트리에 props 전달 없이 내려주는 React 내장 '전달 통로'이고, Redux는 액션·reducer 기반의 상태 전이 규칙과 선택적 구독(selector), 미들웨어, 개발 도구를 갖춘 '상태 관리 아키텍처'입니다. 테마나 로케일처럼 변경 빈도가 낮고 범위만 넓은 값을 공유할 때는 Context만으로 충분하며, 복잡한 비즈니스 상태를useReducer와 Context로 조합할 수도 있습니다. 반면 상태가 자주 바뀌면서 하위 컴포넌트들이 필요한 조각만 골라 구독해 불필요한 리렌더를 줄여야 하거나 정교한 전이 추적이 필요할 때는 Redux 같은 외부 상태 도구가 적합합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 단순히 값을 깊은 곳으로 전달하는 문제(Dependency Injection)와 복잡한 상태 전이·구독 범위를 관리하는 문제는 서로 다른 영역입니다.
- Context의 value가 바뀔 때는 그 Context를 읽는 모든 컴포넌트가 리렌더링 대상이 되지만, 외부 store는 selector 결과가 바뀐 컴포넌트만 리렌더링하도록 최적화할 수 있습니다.
면접에서 자주 하는 실수
Context는 무조건 느려서 쓰면 안 되고 Redux는 무조건 빠르다는 식으로 맥락 없이 단정 짓는 답변은 피해야 합니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 108번을 바탕으로 질문과 답변을 새로 정리했습니다.