# [[Interaction to Next Paint (INP)]] ## ๐Ÿ“Œ Brief Summary Interaction to Next Paint (INP)๋Š” 2024๋…„ 3์›”์— ๊ธฐ์กด์˜ First Input Delay (FID)๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ ๋„์ž…๋œ ๊ตฌ๊ธ€์˜ ํ•ต์‹ฌ ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals) ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค [1]. ์ด ์ง€ํ‘œ๋Š” ์ „์ฒด ํŽ˜์ด์ง€ ์„ธ์…˜ ๋™์•ˆ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ƒํ˜ธ์ž‘์šฉ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•˜๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜๋ฉฐ, ๊ถŒ์žฅ๋˜๋Š” ๊ธฐ์ค€๊ฐ’(threshold)์€ 200๋ฐ€๋ฆฌ์ดˆ(ms) ์ดํ•˜์ž…๋‹ˆ๋‹ค [1]. INP๋ฅผ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ธด๊ธ‰ํ•œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ง€์—ฐ ์—†์ด ์ฆ‰๊ฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค [2]. ## ๐Ÿ“– Core Content - **INP์˜ ์ •์˜ ๋ฐ ์ค‘์š”์„ฑ:** INP๋Š” ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž์˜ ํด๋ฆญ, ํƒ€์ดํ•‘ ๋“ฑ ์ƒํ˜ธ์ž‘์šฉ์ด ์ผ์–ด๋‚ฌ์„ ๋•Œ ํ™”๋ฉด์— ๋‹ค์Œ ํŽ˜์ธํŠธ(Next Paint)๊ฐ€ ๊ทธ๋ ค์ง€๊ธฐ๊นŒ์ง€์˜ ์‹ค์งˆ์ ์ธ ๋ฐ˜์‘์„ฑ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค [1, 3]. ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฒ˜๋ฆฌ ๋“ฑ์œผ๋กœ ์ฐจ๋‹จ๋˜์–ด ์žˆ์œผ๋ฉด ์‘๋‹ต์„ฑ์ด ๋–จ์–ด์ ธ INP ์ ์ˆ˜๊ฐ€ ์•…ํ™”๋ฉ๋‹ˆ๋‹ค [4]. - **React ํ™˜๊ฒฝ์—์„œ์˜ INP ์ตœ์ ํ™” ๊ธฐ๋ฒ•:** - **๋™์‹œ์„ฑ ๊ธฐ๋Šฅ(Concurrent Features) ํ™œ์šฉ:** React 19์˜ `useTransition` ๋ฐ `useDeferredValue` ํ›…์„ ์‚ฌ์šฉํ•˜๋ฉด, ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์ด๋‚˜ ๊ธด๊ธ‰ํ•˜์ง€ ์•Š์€ UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์—ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 5]. ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๋ฅผ ๊ธด๊ธ‰ํ•œ ์‚ฌ์šฉ์ž ์ƒํ˜ธ์ž‘์šฉ์— ์šฐ์„  ํ• ๋‹นํ•˜์—ฌ INP ์ ์ˆ˜๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. - **๋ฉ”๋ชจ์ด์ œ์ด์…˜(Memoization):** ๋ถˆํ•„์š”ํ•œ ๋ฆฌ๋ Œ๋”๋ง์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜์€ INP ์ตœ์ ํ™”์— ์ง์ ‘ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค [1]. ํŠนํžˆ **React Compiler**๋ฅผ ํ†ตํ•ด ์ž๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ ์šฉํ•œ ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ(์˜ˆ: Wakelet)์—์„œ๋Š” INP๊ฐ€ 15%์—์„œ ์ตœ๋Œ€ 47%๊นŒ์ง€ ๋Œ€ํญ ๊ฐœ์„ ๋œ ์‚ฌ๋ก€๊ฐ€ ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [3, 6, 7]. - **React Server Components (RSC):** ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋„์ž…ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ 40~60%๊นŒ์ง€ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. ๋ธŒ๋ผ์šฐ์ € ๋ฉ”์ธ ์Šค๋ ˆ๋“œ๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ ์‹œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–‘์ด ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์— INP๊ฐ€ ์ง์ ‘์ ์œผ๋กœ ๋‚ฎ์•„์ง€๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค [4]. - ๊ธฐํƒ€ ์ตœ์ ํ™”: ๋””๋ฐ”์šด์‹ฑ(Debouncing) ์ฒ˜๋ฆฌ๋‚˜ ๊ธด ๋ชฉ๋ก์— ๋Œ€ํ•œ ๊ฐ€์ƒํ™”(Virtualization) ๊ธฐ๋ฒ• ๋˜ํ•œ ๋ Œ๋”๋ง ๋ถ€ํ•˜๋ฅผ ์ค„์—ฌ INP๋ฅผ ๋‚ฎ์ถ”๋Š” ๋ฐ ๊ธ์ •์ ์œผ๋กœ ์ž‘์šฉํ•ฉ๋‹ˆ๋‹ค [1]. - **์„ฑ๋Šฅ ์ธก์ • ๋„๊ตฌ:** INP ์ง€ํ‘œ๋Š” Lighthouse์™€ ๊ฐ™์€ ๋žฉ(Lab) ๋ฐ์ดํ„ฐ ๋„๊ตฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, `web-vitals` ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  DebugBear ๋“ฑ์˜ Real User Monitoring(RUM) ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ์—์„œ ์ง€์†์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [8-10]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Core Web Vitals]], [[First Input Delay (FID)]], [[Concurrent Rendering]], [[React Compiler]], [[React Server Components]] - **Projects/Contexts:** [[Wakelet (React Compiler ๋„์ž…์œผ๋กœ INP 47% ๊ฐœ์„  ์‚ฌ๋ก€)]], [[DebugBear (INP ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” RUM ์†”๋ฃจ์…˜)]] - **Contradictions/Notes:** ์†Œ์Šค์— ๊ด€๋ จ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•œ ๋ชจ์ˆœ์ ์€ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์†Œ์Šค๊ฐ€ ๊ณตํ†ต์ ์œผ๋กœ INP๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์„ ์ค„์ด๊ณ  ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ๋ถ€ํ•˜๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-04-25*