---
id: FE-REACT-CONTEXT-001
category: "10_Wiki/💡 Topics/AI"
confidence_score: 1.0
tags: [react, context-api, state-management, prop-drilling, dependency-injection, performance]
last_reinforced: 2026-04-26
---

# React Context API (리액트 컨텍스트 API)

## 📌 한 줄 통찰 (The Karpathy Summary)
> "컴포넌트 트리의 깊은 곳까지 데이터를 전달하기 위한 'Prop Drilling'의 터널을 뚫고, 전역적인 데이터를 필요한 곳에서 즉시 구독할 수 있는 직통 라인을 개설하라" — 중첩된 컴포넌트 간의 데이터 공유를 단순화하는 React 내장 상태 관리 메커니즘.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** "Implicit Dependency Injection" — 명시적으로 props를 전달하는 대신, Provider를 통해 상위 트리에서 데이터를 제공하고 Consumer(또는 `useContext`)를 통해 하위 트리 어디에서든 데이터를 소비하는 패턴.
- **주요 활용 사례:**
    - **Theming:** 라이트/다크 모드 등 UI 테마 정보 공유.
    - **Authentication:** 사용자 로그인 상태 및 권한 정보 유지.
    - **Localization:** 언어 설정 및 번역 함수 제공.
- **주의사항 및 한계:**
    - **Re-rendering Issue:** Context 값이 변경되면 해당 Context를 구독하는 모든 하위 컴포넌트가 리렌더링됨. 잦은 업데이트가 발생하는 상태에는 부적합.
    - **Complexity:** 무분별한 Context 사용은 컴포넌트의 재사용성을 저해하므로, 합리적인 수준의 'Prop Drilling'이나 '컴포넌트 합성'과 균형을 맞춰야 함.
- **의의:** 외부 상태 관리 라이브러리(Redux, Zustand 등) 없이도 컴포넌트 간 결합도를 낮추고 데이터 흐름을 단순화함.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 과거에는 Context API를 '전역 상태 관리 도구'로 홍보했으나, 현대 정책은 '의존성 주입(DI) 도구'로 명확히 정의함. 성능 이슈로 인해 빈번한 상태 변경에는 Zustand나 Recoil 같은 전문 라이브러리 사용을 권장하는 정책으로 전향함.
- **정책 변화:** Antigravity 프로젝트는 정적인 전역 데이터(테마, 설정)에 대해서만 Context API 사용을 허용하며, 동적인 비즈니스 상태는 전역 상태 관리 라이브러리 사용을 의무화함.

## 🔗 지식 연결 (Graph)
- [[React-Hooks|React-Hooks]], [[State-Management-Patterns|State-Management-Patterns]], [[Component-Composition|Component-Composition]], Performance-Optimization
- **Raw Source:** 00_Raw/React Context API.md
