--- id: wiki-2026-0508-jsx title: JSX category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [] duplicate_of: none source_trust_level: A confidence_score: 0.92 tags: [uncategorized] raw_sources: [] last_reinforced: 2026-05-08 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) JSXλŠ” UIλ₯Ό μƒνƒœ(state)와 속성(props)의 순수 ν•¨μˆ˜λ‘œ ν‘œν˜„ν•˜λŠ” μ„ μ–Έν˜•(declarative) μ»΄ν¬λ„ŒνŠΈ 트리 μž‘μ„± 문법이닀. HTMLκ³Ό μœ μ‚¬ν•œ ꡬ문을 톡해 UI ꡬ쑰λ₯Ό μ§κ΄€μ μœΌλ‘œ 섀계할 수 있게 ν•˜λ©°, React Compiler와 같은 ν˜„λŒ€μ μΈ 도ꡬ듀을 톡해 κ³ μ„±λŠ₯ λ Œλ”λ§ μ΅œμ ν™”λ₯Ό μžλ™μœΌλ‘œ μˆ˜ν–‰ν•œλ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) 1. **선언적 μ»΄ν¬λ„ŒνŠΈ ν•©μ„± (Composition)** - UIλ₯Ό 독립적인 μ—˜λ¦¬λ¨ΌνŠΈλ“€μ˜ 트리 ꡬ쑰둜 μ‚¬κ³ ν•˜κ³  μ‘°λ¦½ν•˜λ„λ‘ μœ λ„ν•˜μ—¬ μ½”λ“œμ˜ 예츑 κ°€λŠ₯성을 높인닀. - JSX μžμ²΄λŠ” λΉ„μ¦ˆλ‹ˆμŠ€ 둜직의 μœ„μΉ˜λ₯Ό κ°•μ œν•˜μ§€ μ•ŠμœΌλ―€λ‘œ, μ•„ν‚€ν…μ²˜μ  μ œμ•½(FSD λ“±)을 톡해 둜직 λˆ„μˆ˜λ₯Ό λ°©μ§€ν•΄μ•Ό ν•œλ‹€. 2. **λͺ¨λ˜ λΉŒλ“œ μ‹œμŠ€ν…œκ³Ό JSX 컴파일** - Vite ν™˜κ²½μ—μ„œλŠ” esbuild λ˜λŠ” SWC(Rust 기반)λ₯Ό ν™œμš©ν•˜μ—¬ λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ—μ„œλ„ μ‹€μ‹œκ°„μ— κ°€κΉŒμš΄ 컴파일 속도λ₯Ό μ œκ³΅ν•œλ‹€. - `@vitejs/plugin-react-swc` 적용 μ‹œ HMR(Hot Module Replacement) μ„±λŠ₯이 κ·ΉλŒ€ν™”λœλ‹€. 3. **React Compilerλ₯Ό ν†΅ν•œ μžλ™ μ΅œμ ν™”** - 기쑴의 μˆ˜λ™ λ©”λͺ¨μ΄μ œμ΄μ…˜(useMemo λ“±) ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄, λΉŒλ“œ νƒ€μž„μ— JSX λ‚΄μ˜ κ°œλ³„ μ—˜λ¦¬λ¨ΌνŠΈ λ‹¨μœ„λ‘œ 독립적이고 μ •λ°€ν•œ 캐싱을 μˆ˜ν–‰ν•œλ‹€. 4. **인라인 ν•¨μˆ˜ μ‚¬μš© μ‹œ 주의점** - JSX λ‚΄λΆ€μ—μ„œ 읡λͺ… ν•¨μˆ˜λ₯Ό 직접 μ •μ˜ν•˜λŠ” ν–‰μœ„λŠ” λ§€ λ Œλ”λ§λ§ˆλ‹€ μƒˆλ‘œμš΄ μ°Έμ‘°λ₯Ό μƒμ„±ν•˜μ—¬ μžμ‹ μ»΄ν¬λ„ŒνŠΈμ˜ λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§μ„ μœ λ°œν•˜λ―€λ‘œ μ§€μ–‘ν•΄μ•Ό ν•œλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **둜직 혼재의 μœ„ν—˜**: JSX의 자유둜운 νŠΉμ„±μœΌλ‘œ 인해 UI λ§ˆν¬μ—… 사이에 λ³΅μž‘ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ κ·œμΉ™μ΄ μ„žμ—¬ μ»΄ν¬λ„ŒνŠΈκ°€ λΉ„λŒ€ν•΄μ§€κ³  μœ μ§€λ³΄μˆ˜κ°€ μ–΄λ €μ›Œμ§ˆ 수 μžˆλ‹€. - **도ꡬ μ˜μ‘΄μ„±**: React Compiler와 같은 μžλ™ μ΅œμ ν™” λ„κ΅¬λŠ” 'Rules of React'(μˆœμˆ˜μ„± λ“±)λ₯Ό μ—„κ²©νžˆ μ€€μˆ˜ν•˜λŠ” μ½”λ“œμ—μ„œλ§Œ μ•ˆμ „ν•˜κ²Œ μž‘λ™ν•˜λ―€λ‘œ, κΈ°μ‘΄ λ ˆκ±°μ‹œ μ½”λ“œμ™€μ˜ ν˜Έν™˜μ„± κ²€ν† κ°€ ν•„μš”ν•˜λ‹€. - **좔상화 λΉ„μš©**: JSX μ„±λŠ₯을 μœ„ν•΄ λͺ¨λ“  ν•¨μˆ˜λ₯Ό useCallback으둜 κ°μ‹ΈλŠ” μˆ˜λ™ μ΅œμ ν™”λŠ” μ½”λ“œμ˜ 가독성을 ν•΄μΉ˜κ³  관리 λΉ„μš©μ„ μ¦κ°€μ‹œν‚€λŠ” νŠΈλ ˆμ΄λ“œμ˜€ν”„κ°€ μžˆλ‹€. ## πŸ”— 지식 μ—°κ²° (Graph) ### Related Concepts (Auto-Linked) * [[Feature-Sliced_Design]] * [[React]] * [[React_Compiler]] * [[Research]] * [[State]] * [[Virtual_DOM]] ### Related Concepts * **Component Trees**: JSX둜 쑰립된 UI의 논리적 ꡬ쑰 (관계: 핡심 데이터 λͺ¨λΈ) * **React Compiler**: JSX λ Œλ”λ§ μžλ™ μ΅œμ ν™” μ—”μ§„ (관계: μ„±λŠ₯ κ°œμ„  도ꡬ) * **SWC**: μ΄ˆκ³ μ† JSX 컴파일러 (관계: λΉŒλ“œ νƒ€μž„ 인프라) ### Deeper Research Questions 1. React Compilerκ°€ JSX λ‚΄μ˜ κ°œλ³„ νƒœκ·Έλ₯Ό λ©”λͺ¨μ΄μ œμ΄μ…˜ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 'μ˜μ‘΄μ„± 뢄석' μ•Œκ³ λ¦¬μ¦˜μ˜ 핡심 μ›λ¦¬λŠ” 무엇인가? 2. JSX λ‚΄λΆ€ 인라인 ν•¨μˆ˜κ°€ μ„±λŠ₯에 λ―ΈμΉ˜λŠ” μ•…μ˜ν–₯이 React Compiler λ„μž… 이후에도 μ—¬μ „νžˆ μœ νš¨ν•œ μ œμ•½ 사항인가? 3. Vite + SWC ν™˜κ²½μ—μ„œ JSX 컴파일 μ‹œ λ°œμƒν•˜λŠ” 'Fast Refresh'의 λ‚΄λΆ€ μž‘λ™ λ©”μ»€λ‹ˆμ¦˜μ€ 무엇인가? 4. λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 JSX λ§ˆν¬μ—…μ„ 물리적으둜 μ™„μ „νžˆ λΆ„λ¦¬ν•˜κΈ° μœ„ν•œ 'View-Model' νŒ¨ν„΄μ˜ ν”„λ‘ νŠΈμ—”λ“œμ  해석은? 5. JSXμ—μ„œ 'Fragment'와 'Wrapper Div'κ°€ λ Œλ”λ§ μ„±λŠ₯ 및 DOM 트리 κΉŠμ΄μ— λ―ΈμΉ˜λŠ” μ‹€μ§ˆμ μΈ μ°¨μ΄λŠ”? ### Practical Application Contexts * **λ Œλ”λ§ μ΅œμ ν™”**: JSX λ‚΄ 이벀트 ν•Έλ“€λŸ¬λ₯Ό λ°–μœΌλ‘œ λΆ„λ¦¬ν•˜μ—¬ μ°Έμ‘° μ•ˆμ •μ„± 확보. * **λΉŒλ“œ 속도 κ°œμ„ **: Vite μ„€μ •μ—μ„œ SWC ν”ŒλŸ¬κ·ΈμΈμ„ λ„μž…ν•˜μ—¬ 둜컬 개발 ν™˜κ²½μ˜ ν•« λ¦¬λ‘œλ”© 속도 κ°œμ„ . ### Adjacent Topics * **Memoization (useMemo, useCallback)** * **Feature-Sliced Design (FSD)** * **Virtual DOM vs Incremental DOM** ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*