# [[Next.js 15 App Router|Next.js 15 App Router]] ## ๐Ÿ“Œ Brief Summary [[Next.js 15|Next.js 15]] App Router๋Š” React Server Components(RSC)๋ฅผ ํ•ต์‹ฌ์œผ๋กœ ๋„์ž…ํ•˜์—ฌ React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ Œ๋”๋ง ๋ฐฉ์‹์˜ ๊ทผ๋ณธ์ ์ธ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์˜จ ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค [1]. ์ด ๋ผ์šฐํ„ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๊ณ  ๋ Œ๋”๋ง๋œ HTML๋งŒ ์ „๋‹ฌํ•˜๋ฉฐ, ์ƒํ˜ธ์ž‘์šฉ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์—๋งŒ ์„ ํƒ์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค [2, 3]. ์ด๋Ÿฌํ•œ ์„œ๋ฒ„ ์ „์šฉ ์‹คํ–‰ ํ™˜๊ฒฝ์˜ ๋„์ž…์€ ์ปดํฌ๋„ŒํŠธ ์ƒํƒœ ๊ด€๋ฆฌ, ํ•˜์ด๋“œ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๊ณ  ํ”„๋ก ํŠธ์—”๋“œ ์Šคํƒ€์ผ๋ง ์ ‘๊ทผ๋ฒ•(ํŠนํžˆ [[CSS-in-JS|CSS-in-JS]] ์‚ฌ์šฉ)์— ์ค‘๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [4, 5]. ## ๐Ÿ“– Core Content * **์„œ๋ฒ„ ๋ฐ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜:** [[Next.js|Next.js]] 15 App Router์—์„œ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ๋นŒ๋“œ ์‹œ๊ฐ„์ด๋‚˜ ์š”์ฒญ ์‹œ ์„œ๋ฒ„์—์„œ๋งŒ ์‹คํ–‰๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋ Œ๋”๋ง๋œ HTML๋งŒ ํด๋ผ์ด์–ธํŠธ์— ๋ณด๋ƒ…๋‹ˆ๋‹ค [2]. ๋ฐ˜๋ฉด, ์ƒํƒœ(State)๋‚˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋“ฑ ์ƒํ˜ธ์ž‘์šฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ `'use client'` ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ ๊ฒฝ๊ณ„๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ํ•˜์ด๋“œ๋ ˆ์ด์…˜([[Hydration|Hydration]])์€ ์ด ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [3, 5]. * **๋ Œ๋”๋ง ๋ฐ ๋ฐ์ดํ„ฐ ํŒจ์นญ ์ „๋žต:** ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์  ๋ Œ๋”๋ง(Static Rendering)์ด ์ ์šฉ๋˜๋ฉฐ, `cookies()`, `headers()` ๋“ฑ์˜ ๋™์  ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋™์  ๋ Œ๋”๋ง์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [6]. ๋˜ํ•œ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋™์‹œ์— ๊ฐ€์ ธ์˜ค๋Š” ๋ณ‘๋ ฌ ํŒจ์นญ(Parallel Data Fetching), Suspense๋ฅผ ํ™œ์šฉํ•œ ์ŠคํŠธ๋ฆฌ๋ฐ(Streaming), ๊ทธ๋ฆฌ๊ณ  Incremental Static Regeneration(ISR) ๋“ฑ์˜ ์ตœ์ ํ™” ์ „๋žต์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค [6, 7]. * **์Šคํƒ€์ผ๋ง ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋ณ€ํ™” ๊ฐ•์ œ:** [[Next.js App Router|Next.js App Router]]์˜ ๋„์ž…์€ ๋Ÿฐํƒ€์ž„ CSS-in-JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(์˜ˆ: styled-components, Emotion) ์‚ฌ์šฉ์— ํฐ ๋‚œ๊ด€์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค [4]. ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” React Context๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, Context ๊ธฐ๋ฐ˜์˜ CSS-in-JS๋Š” ๋ณธ์งˆ์ ์œผ๋กœ RSC์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค [8]. ์ด์— ๋”ฐ๋ผ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋นŒ๋“œ ํƒ€์ž„์— ์ •์  CSS๋ฅผ ์ƒ์„ฑํ•˜๋Š” [[Tailwind CSS|Tailwind CSS]], CSS Modules, [[vanilla-extract|vanilla-extract]]์™€ ๊ฐ™์€ ์Šคํƒ€์ผ๋ง ๋ฐฉ์‹์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [8, 9]. * **App Router ํ™˜๊ฒฝ์—์„œ์˜ CSS-in-JS ๊ตฌํ˜„ ([[Style Registry|Style Registry]]):** Next.js 15์—์„œ styled-components๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ Œ๋”๋ง ์ค‘ CSS ๊ทœ์น™์„ ์ˆ˜์ง‘ํ•˜๋Š” 'Style Registry' ํŒจํ„ด์„ ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10]. ์ด๋ฅผ ์œ„ํ•ด `useServerInsertedHTML` ํ›…์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ฐ์‹ธ๊ณ , `next.config.js`์—์„œ ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„ ํด๋ž˜์Šค๋ช… ๋ถˆ์ผ์น˜(Hydration Mismatch)๋ฅผ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10, 11]. ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋™์  ๋ณด๊ฐ„๋ณด๋‹ค ๋ฐ์ดํ„ฐ ์†์„ฑ(data attributes)์„ ํ™œ์šฉํ•œ ์ •์  ์Šคํƒ€์ผ๋ง์„ ์ฑ„ํƒํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค [11]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[React Server Components|React Server Components]], Tailwind CSS, CSS-in-JS, [[Hydration|Hydration]], [[Style Registry|Style Registry]] - **Projects/Contexts:** [[แ„’แ…ชแ†จแ„Œแ…กแ†ผ แ„€แ…กแ„‚แ…ณแ†ผแ„’แ…กแ†ซ แ„‘แ…ณแ„…แ…ฉแ†ซแ„แ…ณแ„‹แ…ฆแ†ซแ„ƒแ…ณ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ แ„€แ…ฎแ„Žแ…ฎแ†จ|ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์ถ•]], [[Next.js แ„’แ…ชแ†ซแ„€แ…งแ†ผแ„‹แ…ฆแ„‰แ…ฅแ„‹แ…ด UI แ„แ…ฅแ†ทแ„‘แ…ฉแ„‚แ…ฅแ†ซแ„แ…ณ แ„‰แ…ณแ„แ…กแ„‹แ…ตแ†ฏแ„…แ…ตแ†ผ แ„†แ…ตแ†พ แ„…แ…ฆแ†ซแ„ƒแ…ฅแ„…แ…ตแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช|Next.js ํ™˜๊ฒฝ์—์„œ์˜ UI ์ปดํฌ๋„ŒํŠธ ์Šคํƒ€์ผ๋ง ๋ฐ ๋ Œ๋”๋ง ์ตœ์ ํ™”]] - **Contradictions/Notes:** ๋Ÿฐํƒ€์ž„ ๊ธฐ๋ฐ˜์˜ styled-components์™€ Emotion์€ ๋™์  ์Šคํƒ€์ผ๋ง์— ๊ฐ•์ ์ด ์žˆ์–ด ๋„๋ฆฌ ์“ฐ์˜€์œผ๋‚˜, Next.js App Router์˜ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜์™€๋Š” ๊ตฌ์กฐ์ ์œผ๋กœ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค [4]. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Style Registry ๋“ฑ ๋ณต์žกํ•œ ์šฐํšŒ ์„ค์ •์ด ํ•„์š”ํ•˜๋ฉฐ, ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋Ÿฐํƒ€์ž„ CSS-in-JS ๋Œ€์‹  Tailwind CSS๋‚˜ CSS Modules๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ ๊ทน ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [9-11]. --- *Last updated: 2026-04-26*