# 🌐 [LEVEL 5] μƒνƒœ κ΄€λ¦¬μ˜ κ±°λ²„λ„ŒμŠ€: 어디에 μ €μž₯ν•  것인가? ## 1. μƒνƒœμ—λ„ κ±°μ£Όμ§€κ°€ μžˆλ‹€ - **Local State**: κ·Έ μ»΄ν¬λ„ŒνŠΈλ§Œ μ•Œλ©΄ λ˜λŠ” 것 (Input μž…λ ₯κ°’ λ“±). - **Global State**: 온 동넀가 μ•Œμ•„μ•Ό ν•˜λŠ” 것 (둜그인 정보, ν…Œλ§ˆ). - **Server State**: μ„œλ²„μ—μ„œ 빌렀온 것 (κ²Œμ‹œκΈ€ λͺ©λ‘). ## 2. μ„œλ²„ μƒνƒœλŠ” `React Query`μ—κ²Œ 맑겨라 - `useEffect`둜 API ν˜ΈμΆœν•΄μ„œ `loading` κ΄€λ¦¬ν•˜λ˜ μ‹œλŒ€λŠ” 끝났닀. - 캐싱, μž¬μ‹œλ„, λ‘œλ”© μƒνƒœλ₯Ό μžλ™μœΌλ‘œ ν•΄μ£ΌλŠ” 라이브러리λ₯Ό μ¨μ„œ **'μ‹ μ„ ν•œ 데이터'**만 κ΄€λ¦¬ν•˜λΌ. ## 3. μƒνƒœμ˜ μ΅œμ†Œν™” (Single Source of Truth) - `firstName`κ³Ό `lastName`이 μžˆλŠ”λ° `fullName` μ΄λΌλŠ” μƒνƒœλ₯Ό 또 λ§Œλ“€μ§€ 마라. - `fullName`은 λ Œλ”λ§ν•  λ•Œ κ·Έλƒ₯ ν•©μ³μ„œ 보여주면 λœλ‹€. - μƒνƒœκ°€ λ§Žμ•„μ§ˆμˆ˜λ‘ 동기화 였λ₯˜(버그)의 ν™•λ₯ μ€ κΈ‰μƒμŠΉν•œλ‹€.