--- id: m1a2n3a4-g5e6-4a7b-8c9d-0e1f2a3b4c5d category: "[[10_Wiki/Topics/Development]]" confidence_score: 0.99 tags: [react, state-management, zustand, redux, context-api, concurrent-mode, suspense, server-state] last_reinforced: 2026-05-01 github_commit: "wikification-state-concurrent" --- # [[Modern State Management & Concurrent React]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ํ˜„๋Œ€ React ์ƒํƒœ ๊ด€๋ฆฌ๋Š” ๋ชฉ์ ์— ๋”ฐ๋ฅธ ํŒŒํŽธํ™”(์ „์—ญ/์„œ๋ฒ„/URL)๊ฐ€ ํ•ต์‹ฌ์ด๋ฉฐ, Concurrent Features์™€ Suspense๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์„ ์–ธ์ ์œผ๋กœ ์ œ์–ดํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์˜ ๋Š๊น€์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ™”ํ–ˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) ### 1. ์ƒํƒœ ๊ด€๋ฆฌ์˜ ์ „๋ฌธํ™” - **์„œ๋ฒ„ ์ƒํƒœ (Server State)**: TanStack Query๋ฅผ ํ†ตํ•ด ์บ์‹ฑ, ๋™๊ธฐํ™”, ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์ธ๋‹ค. - **์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์—ญ ์ƒํƒœ**: Zustand๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€๋ฒผ์šฐ๋ฉด์„œ๋„ ์„ธ๋ฐ€ํ•œ ๋ฆฌ๋ Œ๋”๋ง ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. Redux๋Š” ๋ณต์žก๋„๊ฐ€ ๋งค์šฐ ๋†’์€ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ํ๋ฆ„์— ํ•œํ•ด ์ฑ„ํƒํ•œ๋‹ค. - **Context API**: ์ฃผ๋กœ ์ •์ ์ธ ์„ค์ •๊ฐ’์ด๋‚˜ ํ…Œ๋งˆ ์ „๋‹ฌ์— ์‚ฌ์šฉํ•˜๋ฉฐ, ์žฆ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํƒœ์—๋Š” ์„ฑ๋Šฅ ์ด์Šˆ๋กœ ์ธํ•ด ์ง€์–‘ํ•œ๋‹ค. ### 2. Concurrent React ๋ฐ ์„ ์–ธ์  UI - **Suspense**: ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ Œ๋”๋ง ์ค€๋น„๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ๋Œ€์ฒด UI(Skeleton ๋“ฑ)๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์„ ์–ธ์  ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด๋‹ค. - **Concurrent Rendering**: ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง(Interruptible Rendering)์„ ํ†ตํ•ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ์ฐจ๋‹จ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ž…๋ ฅ ๋ฐ˜์‘์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค. - **Transitions**: `startTransition`์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒํƒœ ์—…๋ฐ์ดํŠธ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‚ฎ์ถค์œผ๋กœ์จ ๊ธด๊ธ‰ํ•œ UI ์ƒํ˜ธ์ž‘์šฉ(ํƒ€์ดํ•‘ ๋“ฑ)์„ ๋ณดํ˜ธํ•œ๋‹ค. ### 3. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๋žต - **Context to Zustand**: ๋ถˆํ•„์š”ํ•œ ์ „์ฒด ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Context์—์„œ Zustand์˜ Selector ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์œผ๋กœ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๋„ํ•œ ์ƒํƒœ ๋ถ„๋ฆฌ**: ์ƒํƒœ๋ฅผ ๋„ˆ๋ฌด ์ž˜๊ฒŒ ์ชผ๊ฐœ๋ฉด ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€๊ฐ€ ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋„๋ฉ”์ธ ๋‹จ์œ„์˜ ์ ์ ˆํ•œ ์‘์ง‘๋„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. - **Suspense Waterfall**: ์ค‘์ฒฉ๋œ Suspense๋Š” ๋„คํŠธ์›Œํฌ ์›Œํ„ฐํด ํ˜„์ƒ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ ํŽ˜์นญ์„ ์ƒ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ฑฐ๋‚˜(Fetch-then-render) ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Parent**: [[10_Wiki/Topics/Development]] - **Related**: [[TanStack Query]], [[Zustand]], [[Performance & Memory Management]] - **Raw Source**: [[00_Raw/State Management Libraries]], [[00_Raw/Context API to Zustand Migration]], [[00_Raw/Concurrent Rendering in React 18+]], [[00_Raw/React Suspense]], [[00_Raw/Server State]] ## ๐Ÿ’ป GitHub ๋™๊ธฐํ™” ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ์šฐ 1. Stage: git add . 2. Commit: `git commit -m "[P-Reinforce] Wikify Modern State Management and Concurrent React Features"` 3. Push: `git push origin main`