# [[Redux Toolkit]] ## ๐Ÿ“Œ Brief Summary Redux Toolkit(RTK)์€ ๋ถˆ๋ณ€์„ฑ ์—…๋ฐ์ดํŠธ, ์•ก์…˜ ๋””์ŠคํŒจ์น˜ ๋ฐ ๋ฆฌ๋“€์„œ๋ฅผ ํ†ตํ•ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์ปจํ…Œ์ด๋„ˆ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์—…๊ณ„ ํ‘œ์ค€์˜ ์ƒํƒœ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์ด๋‹ค [1]. ๋น„๋ก ์ดˆ๊ธฐ ์„ค์ •๊ณผ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์š”๊ตฌ๋˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ํŒ€ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์—๋Ÿฌ ๊ด€๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ•์ œํ•˜์—ฌ ๋ณต์žกํ•œ ๋ฒ„๊ทธ๋ฅผ ์˜ˆ๋ฐฉํ•œ๋‹ค [2]. ํŠนํžˆ ๋‚ด์žฅ๋œ RTK Query๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ ์ž‘์—…์— ํ•„์ˆ˜์ ์ธ ์บ์‹ฑ, ์ค‘๋ณต ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ, ์ž๋™ ๋ฆฌํŒจ์นญ ๋“ฑ์„ ์ œ๊ณตํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ ํฌ๊ฒŒ ๋†’์—ฌ์ค€๋‹ค [3]. ## ๐Ÿ“– Core Content * **๊ตฌ์กฐ์™€ ์ผ๊ด€์„ฑ์˜ ์ œ๊ณต:** Redux๋Š” ์˜ค๋žซ๋™์•ˆ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๊ธฐ๋ณธ ์†”๋ฃจ์…˜์ด์—ˆ์œผ๋‚˜ ์ดˆ๊ธฐ์— ๋งŽ์€ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ ์ฝ”๋“œ๋ฅผ ์š”๊ตฌํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์—ˆ๋‹ค [4]. ํ•˜์ง€๋งŒ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(500๊ฐœ ์ด์ƒ์˜ ์ปดํฌ๋„ŒํŠธ)์ด๋‚˜ 10๋ช… ์ด์ƒ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ํŒ€์—์„œ๋Š” ์ด ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๊ฐ€ ์˜คํžˆ๋ ค ์ผ๊ด€๋œ ํŒจํ„ด์„ ๊ฐ•์ œํ•˜๋Š” '๊ตฌ์กฐ'๋กœ ์ž‘์šฉํ•œ๋‹ค [2, 5]. ๋ชจ๋“  ํŒ€์›์ด Thunk๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์ฝ”๋“œ ํŒŒ์•…๊ณผ ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง„๋‹ค [2]. * **๊ฐ•๋ ฅํ•œ ๋””๋ฒ„๊น… ์ƒํƒœ๊ณ„:** Redux DevTools๋ฅผ ํ†ตํ•ด ์ƒํƒœ ๊ธฐ๋ก ๊ฒ€์‚ฌ, ์•ก์…˜ ์žฌ์ƒ, ํŠน์ • ์‹œ์ ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„ ์ด๋™(Time-travel) ๋””๋ฒ„๊น…์ด ๊ฐ€๋Šฅํ•˜๋‹ค [6]. ์ด ๋•๋ถ„์— ๋‹ค๋ฅธ ๋„๊ตฌ(์˜ˆ: Zustand, Context API)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋ณต์žกํ•œ ๋น„๋™๊ธฐ ์ƒํƒœ ๋ฒ„๊ทธ์˜ ์›์ธ์„ ๋‹จ ๋ช‡ ๋ถ„ ๋งŒ์— ์‹œ๊ฐ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค [2]. * **RTK Query์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ํ˜์‹ :** ํ˜„๋Œ€ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก์„ฑ์€ ๋Œ€๋ถ€๋ถ„ ๋น„๋™๊ธฐ ํ†ต์‹ ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค. RTK Query๋Š” ๋น„๋™๊ธฐ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ๊ฑฐ์˜ ์ œ๊ฑฐํ•˜๋ฉฐ ์บ์‹ฑ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์š”์ฒญ ์ œ๊ฑฐ, ์ž๋™ ๋ฆฌํŒจ์นญ, ์บ์‹œ ๋ฌดํšจํ™” ๊ธฐ๋Šฅ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค [3]. API ์—”๋“œํฌ์ธํŠธ๊ฐ€ 5๊ฐœ ์ด์ƒ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ, ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” Zustand ๋Œ€๋น„ ์ˆ˜์ฃผ ๊ฐ„์˜ ์ž‘์—… ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ด ์ค€๋‹ค [3]. * **๊ณ ๋ คํ•ด์•ผ ํ•  ํ•œ๊ณ„์ (Gotchas):** RTK๊ฐ€ ๊ธฐ์กด Redux์˜ ๋ณด์ผ๋Ÿฌํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์ค„์—ฌ์ฃผ๊ธด ํ•˜์ง€๋งŒ, ๋ณต์žก์„ฑ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค [7]. ๊ตฌ์กฐ๊ฐ€ ๊ฐ•์ œ๋˜๋Š” ๋งŒํผ, ์†Œ๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž…(MVP) ๊ฐœ๋ฐœ ์‹œ์—๋Š” ๊ณผ๋„ํ•œ ๊ธฐ์ˆ  ๋„์ž…(Overkill)์ด ๋˜์–ด ๋ฐฐํฌ ์†๋„๋ฅผ ๋Šฆ์ถœ ์ˆ˜ ์žˆ๋‹ค [8]. ๋˜ํ•œ ์ •๊ทœํ™”๋œ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๋ณต์žก์„ฑ, ์•ก์…˜ ๊ฒฐํ•ฉ, ๋ฏธ๋“ค์›จ์–ด ์ˆœ์„œ ๋ฌธ์ œ, ์„ ํƒ์ž(Selector) ๋ฉ”๋ชจ์ด์ œ์ด์…˜์˜ ์ทจ์•ฝ์„ฑ ๋“ฑ์€ ์—ฌ์ „ํžˆ ์ฃผ์˜ํ•ด์•ผ ํ•  ์š”์†Œ๋‹ค [7]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Redux]], [[Zustand]], [[Context API]], [[State Management]] - **Projects/Contexts:** [[๋Œ€๊ทœ๋ชจ ํ”„๋ก ํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜]], [[๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ]] - **Contradictions/Notes:** ์ƒํƒœ ๊ด€๋ฆฌ์— ์žˆ์–ด Redux Toolkit์€ ๊ฐ•๋ ฅํ•œ ๋ฏธ๋“ค์›จ์–ด ์ƒํƒœ๊ณ„์™€ DevTools๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ์— ์ ํ•ฉํ•˜์ง€๋งŒ [5], ๋‹จ์ˆœํ•˜๊ณ  ๊ฐ€๋ฒผ์šด ์ƒํƒœ ๊ณต์œ ๊ฐ€ ๋ชฉ์ ์ธ ์†Œ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ณผ๋„ํ•œ ์„ค์ • ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ƒ์‚ฐ์„ฑ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœํ† ํƒ€์ž…์ด๋‚˜ ์ž‘์€ ํŒ€์—์„œ๋Š” Zustand ๋“ฑ ๋‹ค๋ฅธ ๋„๊ตฌ๊ฐ€ ๋” ๊ถŒ์žฅ๋œ๋‹ค [8, 9]. --- *Last updated: 2026-04-26*