--- id: [[P-Reinforce]]-AUTO-B13B4D category: "10_Wiki/πŸ’‘ Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§ λ°©μ§€" --- # [[λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§ λ°©μ§€]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > React μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ„±λŠ₯ μ €ν•˜λ₯Ό 막기 μœ„ν•΄ μ»΄ν¬λ„ŒνŠΈμ˜ ν”„λ‘­μŠ€(Props), μƒνƒœ([[State]]), μ»¨ν…μŠ€νŠΈ(Context) λ³€κ²½μœΌλ‘œ μΈν•œ 연쇄적인 λ Œλ”λ§μ„ μ œμ–΄ν•˜κ³  μ΅œμ ν™”ν•˜λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **1. λ¦¬λ Œλ”λ§μ˜ 원리 νŒŒμ•…** Reactμ—μ„œ μ»΄ν¬λ„ŒνŠΈλŠ” μžμ‹ μ˜ μƒνƒœλ‚˜ ν”„λ‘­μŠ€κ°€ λ³€κ²½λ˜κ±°λ‚˜, μ˜μ‘΄ν•˜κ³  μžˆλŠ” μ»¨ν…μŠ€νŠΈ 값이 λ°”λ€Œκ±°λ‚˜, λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈκ°€ λ¦¬λ Œλ”λ§λ  λ•Œ μ—…λ°μ΄νŠΈλ©λ‹ˆλ‹€. λΆ€λͺ¨κ°€ λ Œλ”λ§λ˜λ©΄ μžμ‹ μ»΄ν¬λ„ŒνŠΈλ„ ν”„λ‘­μŠ€ λ³€κ²½ 여뢀와 상관없이 λ Œλ”λ§λ˜λŠ” 폭포수(Cascading) ν˜„μƒμ΄ λ°œμƒν•©λ‹ˆλ‹€. **2. λ©”λͺ¨μ΄μ œμ΄μ…˜(Memoization) ν™œμš©** - **`React.memo()`**: μ»΄ν¬λ„ŒνŠΈμ˜ ν”„λ‘­μŠ€λ₯Ό 얕은 비ꡐ(Shallow compare)ν•˜μ—¬ λ³€κ²½λ˜μ§€ μ•Šμ•˜μœΌλ©΄ 이전 λ Œλ”λ§ κ²°κ³Όλ₯Ό μž¬μ‚¬μš©ν•©λ‹ˆλ‹€. - **`useMemo` 및 `useCallback`**: 무거운 계산 κ²°κ³Όλ‚˜ ν•¨μˆ˜μ˜ μ°Έμ‘°([[Reference]]) μ•ˆμ •μ„±μ„ μœ μ§€ν•˜μ—¬, λ©”λͺ¨μ΄μ œμ΄μ…˜λœ μžμ‹ μ»΄ν¬λ„ŒνŠΈμ— μƒˆλ‘œμš΄ μ°Έμ‘°κ°€ μ „λ‹¬λ˜μ–΄ λ¦¬λ Œλ”λ§μ΄ λ°œμƒν•˜λŠ” 것을 λ§‰μŠ΅λ‹ˆλ‹€. - λ‹€λ§Œ, λ©”λͺ¨μ΄μ œμ΄μ…˜ μžμ²΄μ—λ„ λΉ„μš©(μ˜€λ²„ν—€λ“œ)이 λ°œμƒν•˜λ―€λ‘œ μ„±λŠ₯ λ¬Έμ œκ°€ ν”„λ‘œνŒŒμΌλ§λœ κ²½μš°μ—λ§Œ μ˜λ„μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. **3. [[React 19]] 컴파일러의 μžλ™ μ΅œμ ν™”** React 19에 λ„μž…λœ μ»΄νŒŒμΌλŸ¬λŠ” λΉŒλ“œ νƒ€μž„μ— μ½”λ“œλ₯Ό λΆ„μ„ν•˜μ—¬ μ»΄ν¬λ„ŒνŠΈ, κ°’, 콜백 ν•¨μˆ˜μ— μžλ™μœΌλ‘œ λ©”λͺ¨μ΄μ œμ΄μ…˜μ„ μ μš©ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μˆ˜λ™μœΌλ‘œ `useMemo`λ‚˜ `useCallback`을 μž‘μ„±ν•΄μ•Ό ν–ˆλ˜ λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈλ₯Ό μ€„μ—¬μ€λ‹ˆλ‹€. **4. μƒνƒœ μ§€μ—­ν™”(State Colocation)와 읡λͺ… ν•¨μˆ˜ 뢄리** - μƒνƒœλ₯Ό λΆ€λͺ¨λ‘œ κ³Όλ„ν•˜κ²Œ λŒμ–΄μ˜¬λ¦¬λŠ”(State Lifting) 것은 λΆˆν•„μš”ν•œ μ»΄ν¬λ„ŒνŠΈ 트리의 λ Œλ”λ§μ„ μœ λ°œν•˜λ―€λ‘œ, μƒνƒœλŠ” μ΅œλŒ€ν•œ μ‚¬μš©ν•˜λŠ” κ³³κ³Ό κ°€κΉŒμš΄ μœ„μΉ˜(Local)에 두어야 ν•©λ‹ˆλ‹€. (예: λΉˆλ²ˆν•˜κ²Œ λ³€ν•˜λŠ” 마우슀 μ’Œν‘œ λ“±) - JSX 내뢀에 읡λͺ… ν•¨μˆ˜λ‚˜ 인라인 객체λ₯Ό 직접 μ„ μ–Έν•˜λ©΄ λ§€ λ Œλ”λ§λ§ˆλ‹€ μƒˆλ‘œμš΄ μ°Έμ‘°κ°€ μƒμ„±λ˜λ―€λ‘œ, λ Œλ”λ§ μ„±λŠ₯에 μ•…μ˜ν–₯을 μ€λ‹ˆλ‹€. **5. [[Context API]] μ΅œμ ν™” 및 μƒνƒœ 관리 라이브러리 μ‚¬μš©** React κΈ°λ³Έ ContextλŠ” λ‚΄λΆ€ 값이 ν•˜λ‚˜λΌλ„ λ³€κ²½λ˜λ©΄ 이λ₯Ό κ΅¬λ…ν•˜λŠ” λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈλ₯Ό λ¦¬λ Œλ”λ§μ‹œν‚΅λ‹ˆλ‹€. 이λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ μ»¨ν…μŠ€νŠΈλ₯Ό μ—…λ°μ΄νŠΈ λΉˆλ„λ³„λ‘œ 잘게 μͺΌκ°œκ±°λ‚˜, Zustand, Jotai, Valtio와 같이 선택적 ꡬ독(Selective Subscription)κ³Ό λ―Έμ„Έ μ‘°μ •(Fine-grained) μ—…λ°μ΄νŠΈλ₯Ό μ§€μ›ν•˜λŠ” μƒνƒœ 관리 도ꡬλ₯Ό λ„μž…ν•΄μ•Ό ν•©λ‹ˆλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** [[React Performance Optimization]], [[React 19 Compiler]], μƒνƒœ 관리 μ΅œμ ν™” (Zustand, Jotai, Valtio), [[μž¬μ‘°μ • ([[Reconciliation]])]], Virtualization (리슀트 가상화) - **Projects/Contexts:** λŒ€κ·œλͺ¨ ν”„λ‘ νŠΈμ—”λ“œ μ•„ν‚€ν…μ²˜ 섀계, κ³ λΉˆλ„ μ—…λ°μ΄νŠΈλ₯Ό μ²˜λ¦¬ν•˜λŠ” μ‹€μ‹œκ°„ λŒ€μ‹œλ³΄λ“œ - **Contradictions/Notes:** λ§Žμ€ κ°œλ°œμžλ“€μ΄ μ»΄ν¬λ„ŒνŠΈκ°€ λŠλ €μ§€λ©΄ μŠ΅κ΄€μ μœΌλ‘œ μ‘°κΈ° λ©”λͺ¨μ΄μ œμ΄μ…˜(Premature Memoization)을 μ μš©ν•˜λ € ν•˜μ§€λ§Œ, 비ꡐ μ—°μ‚° 자체의 μ˜€λ²„ν—€λ“œλ‘œ 인해 μ»΄ν¬λ„ŒνŠΈκ°€ μž‘κ³  λΉ λ₯΄λ‹€λ©΄ 였히렀 μ„±λŠ₯이 ν•˜λ½ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 항상 React DevTools Profiler λ“±μœΌλ‘œ μΈ‘μ •(Measure)ν•œ ν›„ μ΅œμ ν™”λ₯Ό μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. --- _Last updated: 2026-04-14_ ---