--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Fiber Architecture|Fiber Architecture]] last_updated: 2026-05-02 --- # [[Fiber Architecture|Fiber Architecture]] ## ๐Ÿ“Œ Brief Summary React 16์—์„œ ๋„์ž…๋œ Fiber [[Architecture|Architecture]]๋Š” ๋™์‹œ์„ฑ ๋ Œ๋”๋ง(Concurrent Rendering)์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๊ทผ๋ณธ์ ์œผ๋กœ ์žฌ์ž‘์„ฑ๋œ React์˜ ์žฌ์กฐ์ •(Reconciliation) ์—”์ง„์ž…๋‹ˆ๋‹ค [1-3]. ๊ธฐ์กด์˜ ๋™๊ธฐ์‹ ๋ Œ๋”๋ง์ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜์—ฌ UI๊ฐ€ ๋ฉˆ์ถ”๋˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž, ๋ Œ๋”๋ง ์ž‘์—…์„ 'ํŒŒ์ด๋ฒ„(Fiber)'๋ผ๋Š” ์ž‘์€ ๋‹จ์œ„์˜ ๋…ธ๋“œ๋กœ ์ชผ๊ฐœ์–ด ์ ์ง„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค [4, 5]. ์ด๋ฅผ ํ†ตํ•ด React๋Š” ๋ Œ๋”๋ง์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ €์— ์ œ์–ด๊ถŒ์„ ์–‘๋ณดํ•˜๊ณ , ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ž‘์—…์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•œ ํ›„ ๋‹ค์‹œ ๋ Œ๋”๋ง์„ ์žฌ๊ฐœํ•˜๋Š” ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ([[Time-Slicing|Time-Slicing]]) ์Šค์ผ€์ค„๋ง์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [4-6]. --- Fiber ์•„ํ‚คํ…์ฒ˜๋Š” ๋™์‹œ์„ฑ ๋ Œ๋”๋ง([[Concurrent Rendering|Concurrent Rendering]])์„ ์ง€์›ํ•˜๊ณ  ๋ Œ๋”๋ง ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด React 16์—์„œ ๋„์ž…๋œ ์žฌ์กฐ์ •(Reconciliation) ์—”์ง„์˜ ์™„์ „ํ•œ ์žฌ์ž‘์„ฑ ๋ฒ„์ „์ด๋‹ค [1-3]. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” ๋ Œ๋”๋ง ์ž‘์—…์„ 'ํŒŒ์ด๋ฒ„ ๋…ธ๋“œ(Fiber node)'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ž‘์€ ์ž‘์—… ๋‹จ์œ„(unit of work)๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์ ์ง„์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—… ๋ฃจํ”„(work loop)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค [4, 5]. ๋ Œ๋”๋ง ๋„์ค‘ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ƒํ˜ธ์ž‘์šฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ž‘์—…์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €์— ์ œ์–ด๊ถŒ์„ ๋„˜๊ฒผ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” 'ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ([[Time-Slicing|Time-Slicing]])'์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜์—ฌ UI์˜ ๋ฐ˜์‘์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค [4, 5]. ## ๐Ÿ“– Core Content * **๋™๊ธฐ์‹ ์ฐจ๋‹จ(Synchronous [[Blocking|Blocking]])์˜ ํ•œ๊ณ„ ๊ทน๋ณต:** Fiber ๋„์ž… ์ด์ „์˜ React๋Š” '์Šคํƒ ์žฌ์กฐ์ •์ž(Stack Reconciler)'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ ๋‹จ์ผ ์žฌ๊ท€ ํ˜ธ์ถœ๋กœ ๋™๊ธฐ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค [4]. ์ด ๋ฐฉ์‹์€ ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ธŒ๋ผ์šฐ์ €์˜ ํ”„๋ ˆ์ž„ ์˜ˆ์‚ฐ(16.6ms)์„ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด๋‚˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ง€์—ฐ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค [4]. Fiber๋Š” ์ž‘์—…์„ ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž‘์—…์„ ๊ฐ€๋กœ์ฑ„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ์œผ๋กœ์จ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [4, 5, 7]. * **์ž‘์—… ๋ฃจํ”„(Work Loop)์™€ ๋‘ ๊ฐ€์ง€ ๋ Œ๋”๋ง ๋‹จ๊ณ„:** Fiber์˜ ์žฌ์กฐ์ • ๊ณผ์ •์€ ์ž‘์—… ์ค‘๋‹จ๊ณผ ์šฐ์„ ์ˆœ์œ„ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ช…ํ™•ํ•œ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค [8]. * **๋ Œ๋”๋ง ๋‹จ๊ณ„ (Render Phase):** ์ด ๋‹จ๊ณ„๋Š” ๋น„๋™๊ธฐ์ ์ด๋ฉฐ ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8]. ์‹ค์ œ DOM์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ํŒŒ์ด๋ฒ„ ํŠธ๋ฆฌ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์ด์ „ ์ƒํƒœ์™€ ์ƒˆ๋กœ์šด ์ƒํƒœ์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ํŒŒ์ด๋ฒ„๋“ค์˜ ๋ชฉ๋ก(Effect list)์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค [8, 9]. ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„ ์ž‘์—…์ด ๋“ค์–ด์˜ค๋ฉด ์ผ์‹œ ์ค‘๋‹จ, ํ๊ธฐ ๋˜๋Š” ์žฌ์‹œ์ž‘๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ด ๋‹จ๊ณ„์—์„œ๋Š” ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค [8-10]. * **์ปค๋ฐ‹ ๋‹จ๊ณ„ (Commit Phase):** ์ด ๋‹จ๊ณ„๋Š” ๋™๊ธฐ์ ์ด๋ฉฐ ์ค‘๋‹จํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค [11]. ๋ Œ๋”๋ง ๋‹จ๊ณ„์—์„œ ๋งŒ๋“ค์–ด์ง„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์‚ฝ์ž…, ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ)์„ ํ•œ ๋ฒˆ์— ์‹ค์ œ DOM์— ์ ์šฉํ•ฉ๋‹ˆ๋‹ค [9, 11, 12]. ์ด ์‹œ์ ์— ์‹ค์ œ DOM์ด ๋ณ€ํ˜•๋˜๋ฉฐ ๊ฐ์ข… ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ๋‚˜ ๋ ˆ์ด์•„์›ƒ ์ดํŽ™ํŠธ(`useLayoutEffect`)๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค [11, 12]. * **๋ ˆ์ธ(Lane) ๋ชจ๋ธ์„ ํ†ตํ•œ ์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง:** Fiber๋Š” 32๋น„ํŠธ ์ •์ˆ˜ ๋น„ํŠธ๋งˆ์Šคํฌ ์‹œ์Šคํ…œ์ธ '๋ ˆ์ธ(Lane)'์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค [13, 14]. ํด๋ฆญ์ด๋‚˜ ํƒ€์ดํ•‘ ๋“ฑ ์ฆ‰๊ฐ์  ๋ฐ˜์‘์ด ํ•„์š”ํ•œ ์ž‘์—…(Sync Lane), ์Šคํฌ๋กค๋ง(InputContinuous Lane), ์ผ๋ฐ˜์ ์ธ ์ƒํƒœ ์—…๋ฐ์ดํŠธ(Default Lane), ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…(Idle Lane)์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค [6, 15]. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ๊ณผ ๊ฐ™์€ '๊ธด๊ธ‰ํ•œ' ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ ๋ Œ๋”๋ง ๊ฐ™์€ '๋น„๊ธด๊ธ‰' UI ์ „ํ™˜๋ณด๋‹ค ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [6, 16]. * **์ž‘์—… ์ง„ํ–‰ ์ƒํƒœ(WIP) ํŠธ๋ฆฌ ๊ด€๋ฆฌ:** React๋Š” ํ˜„์žฌ ํ™”๋ฉด์— ๊ทธ๋ ค์ง„ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž‘์—… ์ค‘์ธ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” WIP(Work-in-progress) ํŠธ๋ฆฌ๋ฅผ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค [10]. ์Šค์ผ€์ค„๋Ÿฌ์˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ”์˜๋ฉด ์ด WIP ํŠธ๋ฆฌ์˜ ์ž‘์—…์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์œ ํœด ์ƒํƒœ์ผ ๋•Œ ๋‹ค์‹œ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [10]. --- * **์ž‘์—… ๋ฃจํ”„์™€ ํŒŒ์ด๋ฒ„ ํŠธ๋ฆฌ (Work Loop and Fiber Tree):** ์ด์ „์˜ React๋Š” ์Šคํƒ ์žฌ์กฐ์ •์ž(stack reconciler)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ ๋‹จ์ผ ์žฌ๊ท€ ํ˜ธ์ถœ๋กœ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค [4]. Fiber๋Š” ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ์˜ ๊ฐ ๋…ธ๋“œ๋ฅผ ์ž์‹(child), ํ˜•์ œ(sibling), ๋ถ€๋ชจ(return)์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง„ 'ํŒŒ์ด๋ฒ„ ๋…ธ๋“œ'๋กœ ๊ตฌ์„ฑํ•˜๋ฉฐ, ์ด๋ฅผ ๋‹จ์œ„๋กœ ์ž‘์—… ๋ฃจํ”„๋ฅผ ๋ˆ๋‹ค [6, 7]. ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํŠธ๋ฆฌ๋ฅผ ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(depth-first) ๋ฐฉ์‹์œผ๋กœ ์ˆœํšŒํ•˜๋ฉฐ ๋ Œ๋”๋ง ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ํ˜„์žฌ ํ”„๋ ˆ์ž„์— ๋‚จ์€ ์‹œ๊ฐ„์ด ์—†์œผ๋ฉด ์ž‘์—…์„ ์ผ์‹œ ์ค‘๋‹จ(yield)ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ ๋Š๊น€์„ ๋ฐฉ์ง€ํ•œ๋‹ค [7, 8]. * **์žฌ์กฐ์ • ๋‹จ๊ณ„ (Reconciliation Phases):** React์˜ ์žฌ์กฐ์ • ํ”„๋กœ์„ธ์Šค๋Š” ์ž‘์—… ์ค‘๋‹จ ๋ฐ ์šฐ์„ ์ˆœ์œ„ ์ง€์ •์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ๋ช…ํ™•ํ•œ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค [9]. * **๋ Œ๋” ๋‹จ๊ณ„ (Render phase):** ํŠธ๋ฆฌ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ด์ „ ์ƒํƒœ์™€ ์ƒˆ๋กœ์šด ์ƒํƒœ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋‹จ๊ณ„๋กœ, DOM์„ ์ง์ ‘ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค [9, 10]. ์ด ๋‹จ๊ณ„๋Š” ์–ธ์ œ๋“  ์ค‘๋‹จ, ์ทจ์†Œ, ์žฌ์‹œ์ž‘์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ถ€์ž‘์šฉ(side effects)์„ ์‹คํ–‰ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค [9, 10]. ๋ Œ๋” ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜๋ฉด ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ํŒŒ์ด๋ฒ„๋“ค๋งŒ ๋ชจ์•„ ์ดํŽ™ํŠธ ๋ชฉ๋ก(effect list)์„ ๊ตฌ์„ฑํ•œ๋‹ค [11]. * **์ปค๋ฐ‹ ๋‹จ๊ณ„ (Commit phase):** ์ค‘๋‹จ๋  ์ˆ˜ ์—†๋Š” ๋™๊ธฐ์ ์ธ ๋‹จ๊ณ„๋กœ, ๋ Œ๋” ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑ๋œ ์ดํŽ™ํŠธ ๋ชฉ๋ก์„ ๋ฐ”ํƒ•์œผ๋กœ DOM ๋…ธ๋“œ์˜ ์‚ฝ์ž…, ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ๋ฅผ ํ•œ ๋ฒˆ์— ์ ์šฉํ•œ๋‹ค [10, 12]. ์ด ๋‹จ๊ณ„์—์„œ `useLayoutEffect` ๋ฐ `useEffect`์™€ ๊ฐ™์€ ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ์™€ ํ›…์ด ์‹คํ–‰๋œ๋‹ค [10, 12, 13]. * **์šฐ์„ ์ˆœ์œ„ ์Šค์ผ€์ค„๋ง๊ณผ ๋ ˆ์ธ ๋ชจ๋ธ (Priority and [[Lane Model|Lane Model]]):** Fiber๋Š” ์—ฌ๋Ÿฌ ์—…๋ฐ์ดํŠธ์˜ ํ˜ผํ•ฉ๋œ ์šฐ์„ ์ˆœ์œ„๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด '๋ ˆ์ธ(Lanes)'์ด๋ผ๋Š” ๋น„ํŠธ๋งˆ์Šคํฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•œ๋‹ค [14, 15]. ์ž‘์—…์€ ์‚ฌ์šฉ์ž ํƒ€์ดํ•‘์ด๋‚˜ ํด๋ฆญ์ฒ˜๋Ÿผ ์ฆ‰๊ฐ์ ์ธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๋™๊ธฐ(Sync) ๋ ˆ์ธ๋ถ€ํ„ฐ ์Šคํฌ๋กค๊ณผ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ฐจ๋‹จ(User-[[Blocking|Blocking]]) ๋ ˆ์ธ, ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ๋ณธ(Default) ๋ ˆ์ธ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ธ ์œ ํœด(Idle) ๋ ˆ์ธ ๋“ฑ์œผ๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค [14, 16]. ์ด๋ฅผ ํ†ตํ•ด ๊ธด๊ธ‰ํ•œ UI ์ƒํ˜ธ์ž‘์šฉ์ด ๋ฌด๊ฑฐ์šด ๋น„๋™๊ธฐ ์—…๋ฐ์ดํŠธ๋ณด๋‹ค ๋จผ์ € ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ๋‹ค [14, 17]. * **๋™์‹œ์„ฑ ๊ธฐ๋Šฅ์˜ ๊ธฐ๋ฐ˜ (Foundation for Concurrent Features):** ์ด๋Ÿฌํ•œ ์ค‘๋‹จ ๊ฐ€๋Šฅํ•œ ๋ Œ๋”๋ง ๋ฐ ์šฐ์„ ์ˆœ์œ„ ๊ด€๋ฆฌ ๊ตฌ์กฐ ๋•๋ถ„์— React๋Š” `[[useTransition|useTransition]]` ๋ฐ `[[useDeferredValue|useDeferredValue]]`์™€ ๊ฐ™์€ ๋™์‹œ์„ฑ ํ›…(concurrent hooks)์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค [18]. ์ด ํ›…๋“ค์€ ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ์—๋„ ๊ธด๊ธ‰ํ•œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์œ„ํ•ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ํ™•๋ณดํ•˜์—ฌ ๋ถ€๋“œ๋Ÿฌ์šด ์•ฑ ๊ฒฝํ—˜์„ ์œ ์ง€ํ•˜๊ฒŒ ๋•๋Š”๋‹ค [18, 19]. ## โš–๏ธ Trade-offs & Caveats No trade-offs available. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Virtual DOM|Virtual DOM]], Reconciliation, Concurrent Rendering, [[Critical Rendering Path|Critical Rendering Path]] - **Projects/Contexts:** [[React 16+ Core Engine|React 16+ Core Engine]], [[แ„‡แ…ณแ„…แ…กแ„‹แ…ฎแ„Œแ…ฅ แ„†แ…ฆแ„‹แ…ตแ†ซ แ„‰แ…ณแ„…แ…ฆแ„ƒแ…ณ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช แ„†แ…ตแ†พ แ„แ…กแ„‹แ…ตแ†ท แ„‰แ…ณแ†ฏแ„…แ…กแ„‹แ…ตแ„‰แ…ตแ†ผ|๋ธŒ๋ผ์šฐ์ € ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ์ตœ์ ํ™” ๋ฐ ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ]] - **Contradictions/Notes:** Fiber์˜ ๋™์‹œ์„ฑ ๋ Œ๋”๋ง ๊ธฐ๋Šฅ(์˜ˆ: `[[useTransition|useTransition]]`, `[[useDeferredValue|useDeferredValue]]`)์€ ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์‹คํ–‰ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค [17]. ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์œผ๋กœ ์ธํ•œ ๋ณ‘๋ชฉ์ด ์ฆ‰๊ฐ์ ์ธ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๋„๋ก ๋’ค๋กœ ๋ฏธ๋ฃธ(Deferring)์œผ๋กœ์จ, ์ฒด๊ฐ ์„ฑ๋Šฅ(Perceived Performance) ์ธก๋ฉด์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ›จ์”ฌ "๋” ๋น ๋ฅด๊ฒŒ ๋А๊ปด์ง€๋„๋ก" ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค [17]. --- *Last updated: 2026-04-25* --- - **Related Topics:** [[แ„€แ…กแ„‰แ…กแ†ผ DOM (Virtual DOM)|๊ฐ€์ƒ DOM (Virtual DOM]], ์žฌ์กฐ์ • (Reconciliation), [[แ„ƒแ…ฉแ†ผแ„‰แ…ตแ„‰แ…ฅแ†ผ แ„…แ…ฆแ†ซแ„ƒแ…ฅแ„…แ…ตแ†ผ (Concurrent Rendering)|๋™์‹œ์„ฑ ๋ Œ๋”๋ง (Concurrent Rendering]], ํƒ€์ž„ ์Šฌ๋ผ์ด์‹ฑ (Time-Slicing) - **Projects/Contexts:** React 16, [[React 19|React 19]] ๋™์‹œ์„ฑ ํ›… (useTransition, useDeferredValue) - **Contradictions/Notes:** ์†Œ์Šค ๊ฐ„์˜ ์˜๊ฒฌ ์ถฉ๋Œ์€ ์—†์œผ๋ฉฐ, Fiber ์•„ํ‚คํ…์ฒ˜์˜ ๋ชฉํ‘œ๋Š” ๋ณต์žกํ•œ ๋ Œ๋”๋ง ์ž‘์—…์œผ๋กœ ์ธํ•ด ํ”„๋ ˆ์ž„์ด ๋–จ์–ด์ง€๋Š” ๊ธฐ์กด์˜ ์Šคํƒ ์žฌ์กฐ์ •์ž(Stack Reconciler) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ๋„์ž…๋œ ๊ตฌ์กฐ์  ๋ณ€ํ™”๋ผ๊ณ  ์ผ๊ด€๋˜๊ฒŒ ์„ค๋ช…๋œ๋‹ค [2, 4]. --- *Last updated: 2026-04-25*