--- id: n1e2x3t4-j5s6-4a7b-8c9d-0e1f2a3b4c5d category: "10_Wiki/Topics/Development" confidence_score: 0.98 tags: [nextjs, app-router, server-components, react, functional-programming, modern-web] last_reinforced: 2026-05-01 github_commit: "wikification-nextjs-modern-react" --- # Next.js & Modern React Design Patterns ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ํ˜„๋Œ€ React ๊ฐœ๋ฐœ์€ Next.js์˜ App Router์™€ Server Components๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ฒฝ๊ณ„๋ฅผ ์žฌ์ •์˜ํ•˜๋ฉฐ, ์„ ์–ธ์  UI์™€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ๋™์‹œ์— ๊ทน๋Œ€ํ™”ํ•˜๊ณ  ์žˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) ### 1. Next.js App Router ๋ฐ RSC - **React Server Components (RSC)**: ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ํŽ˜์นญํ•˜๊ณ  ๋ Œ๋”๋งํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†กํ•จ์œผ๋กœ์จ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. - **App Router**: ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์„ ๋„˜์–ด ๋ ˆ์ด์•„์›ƒ, ์—๋Ÿฌ ํ•ธ๋“ค๋ง, ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ### 2. ํ˜„๋Œ€์  React ํŒจํ„ด - **ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ ์šฐ์„ **: ๋ชจ๋“  ์ปดํฌ๋„ŒํŠธ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉฐ, ๊ณ ์ฐจ ์ปดํฌ๋„ŒํŠธ(HOC) ๋Œ€์‹  ์ปค์Šคํ…€ ํ›…๊ณผ ํ•ฉ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ธ๋‹ค. - **Props Drilling ๋ฐฉ์ง€**: ์ปดํฌ๋„ŒํŠธ ํ•ฉ์„ฑ(Composition)๊ณผ Context API, ๋˜๋Š” ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์ตœ์ ํ™”ํ•œ๋‹ค. - **Rules of React**: ํ›…์˜ ํ˜ธ์ถœ ์ˆœ์„œ ์ค€์ˆ˜ ๋“ฑ React์˜ ๊ธฐ๋ณธ ์›์น™์„ ์—„๊ฒฉํžˆ ์ง€์ผœ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ์ „์ด๋ฅผ ๋ณด์žฅํ•œ๋‹ค. ### 3. ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ - **Server Actions**: ๋ณ„๋„์˜ API ์—”๋“œํฌ์ธํŠธ ์—†์ด ์„œ๋ฒ„ ์ธก ํ•จ์ˆ˜๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณ€์กฐ(Mutation) ๋ฐ ํผ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **ํด๋ผ์ด์–ธํŠธ vs ์„œ๋ฒ„ ๊ฒฝ๊ณ„**: ๋ชจ๋“  ๊ฒƒ์„ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†๋‹ค. ์ƒํ˜ธ์ž‘์šฉ(Event, State)์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ 'use client' ์ง€์‹œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. - **์ถ”์ƒํ™” ์˜ค๋ฒ„ํ—ค๋“œ**: ํ•จ์ˆ˜ํ˜• ํŒจํ„ด๊ณผ ํ•ฉ์„ฑ์€ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๊ณผ๋„ํ•˜๊ฒŒ ๋ณต์žกํ•œ ํ•ฉ์„ฑ์€ ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ ๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Parent**: 10_Wiki/Topics/Development - **Related**: Modern React & Frontend Engineering Standard (2025), [[Scalable Frontend Architecture|Scalable Frontend Architecture]] - **Raw Source**: 00_Raw/Next.js App Router, 00_Raw/Next.js แ„†แ…ตแ†พ Server Components แ„Œแ…ฅแ†จแ„‹แ…ญแ†ผ แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ, 00_Raw/Functional Components, 00_Raw/Functional Programming in React ## ๐Ÿ’ป GitHub ๋™๊ธฐํ™” ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ 1. Stage: git add . 2. Commit: `git commit -m "[P-Reinforce] Wikify Next.js and Modern React Design Patterns"` 3. Push: `git push origin main`