# [[React [[Server Components]] (RSC)]] ## πŸ“Œ[[ brief]] Summary [[React Server Components]](RSC)λŠ” λΈŒλΌμš°μ €κ°€ μ•„λ‹Œ μ„œλ²„μ—μ„œ λ°°νƒ€μ μœΌλ‘œ μ‹€ν–‰λ˜λ©°(λΉŒλ“œ νƒ€μž„ λ˜λŠ” μš”μ²­ μ‹œ) ν΄λΌμ΄μ–ΈνŠΈλ‘œ [[JavaScript]]λ₯Ό μ „μ†‘ν•˜μ§€ μ•Šκ³  HTML을 μŠ€νŠΈλ¦¬λ°ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€ [1, 2]. λΈŒλΌμš°μ € API 및 [[React Context]]에 λŒ€ν•œ 접근이 λΆˆκ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ—, κΈ°μ‘΄ λŸ°νƒ€μž„ [[CSS-in-JS]] 라이브러리의 ν˜Έν™˜μ„± 문제λ₯Ό λ°œμƒμ‹œν‚€λ©° ν”„λ‘ νŠΈμ—”λ“œ μŠ€νƒ€μΌλ§ 및 μ»΄ν¬λ„ŒνŠΈ μ•„ν‚€ν…μ²˜μ— 근본적인 λ³€ν™”λ₯Ό κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€ [1-4]. ## πŸ“– Core Content - **μ„œλ²„ μ „μš© μ‹€ν–‰ 및 μ„±λŠ₯ μ΅œμ ν™”:** RSCλŠ” μ„œλ²„μ—μ„œ μ‹€ν–‰λ˜λ―€λ‘œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ JavaScript λ²ˆλ“€μ„ 보내지 μ•ŠμŠ΅λ‹ˆλ‹€ [2]. λ°μ΄ν„°λ² μ΄μŠ€ 쿼리와 같은 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λΈŒλΌμš°μ €μ— λ…ΈμΆœν•˜μ§€ μ•Šκ³  직접 μ²˜λ¦¬ν•˜μ—¬ λ³΄μ•ˆμ„ μœ μ§€ν•˜λ©°, ν΄λΌμ΄μ–ΈνŠΈμ˜ μžμ› 뢀담을 μ΅œμ†Œν™”ν•©λ‹ˆλ‹€ [2]. - **μŠ€νƒ€μΌλ§ μ•„ν‚€ν…μ²˜μ— λ―ΈμΉ˜λŠ” 영ν–₯:** RSC ν™˜κ²½μ—μ„œλŠ” React Contextλ₯Ό μ‚¬μš©ν•  수 μ—†κΈ° λ•Œλ¬Έμ—, `ThemeProvider`와 같이 Context에 μ˜μ‘΄ν•˜λŠ” 기쑴의 λŸ°νƒ€μž„ CSS-in-JS(예: [[styled-components]], Emotion)λŠ” μ„œλ²„ μ»΄ν¬λ„ŒνŠΈ ν™˜κ²½μ—μ„œ 기본적으둜 ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ [1, 3-5]. 이둜 인해 λŸ°νƒ€μž„ μ˜€λ²„ν—€λ“œκ°€ μ—†λŠ” [[Tailwind CSS]]λ‚˜ λΉŒλ“œ νƒ€μž„μ— 정적 CSSλ₯Ό μƒμ„±ν•˜λŠ” [[vanilla-extract]] 같은 μ ‘κ·Ό 방식이 ν˜„λŒ€ ν”„λ‘ νŠΈμ—”λ“œ μ•„ν‚€ν…μ²˜μ—μ„œ μ„ ν˜Έλ˜λŠ” μΆ”μ„Έμž…λ‹ˆλ‹€ [1]. - **styled-components의 RSC 지원 및 [[Style Registry]]:** μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ [[Next.js 15]]μ—μ„œλŠ” λ Œλ”λ§ 쀑 CSS κ·œμΉ™μ„ μˆ˜μ§‘ν•˜μ—¬ μ£Όμž…ν•˜λŠ” 'Style Registry' νŒ¨ν„΄μ„ λ„μž…ν–ˆμŠ΅λ‹ˆλ‹€ [6]. λ˜ν•œ `styled-components`λŠ” v6.3.0λΆ€ν„° RSC ν™˜κ²½μ„ μžλ™ κ°μ§€ν•˜μ—¬ `'use client'` μ§€μ‹œμ–΄ 없이도 인라인 `