๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ ๊ธฐ์ˆ  ๋ฉด์ ‘/Library

Virtual DOM์ด๋ž€? ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ ์‹œ ์žฅ์ ์€?

by Dev. Ella 2023. 6. 8.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Virtual DOM์ด ๋ฌด์—‡์ด๊ณ , Virtual DOM์ด ์–ด๋–ค ๋ฉด์—์„œ ์ข‹์€๊ฐ€์š”?

 

๐Ÿ’๐Ÿป‍โ™€๏ธ ์š”์•ฝํ•˜์ž๋ฉด ,

React์˜ ๊ฐ€์ƒ DOM์€ ์‹ค์ œ DOM๊ณผ ์œ ์‚ฌํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ณต์‚ฌ๋ณธ์ด๋ฉฐ, ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋ Œ๋”๋ง์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฐ€์ƒ DOM์„ ๋จผ์ € ์„ค๋ช…ํ•˜์ž๋ฉด,

React๋Š” ๋ณ€๊ฒฝ ์ด์ „๊ณผ ๋ณ€๊ฒฝ ์ดํ›„์˜ ๋‘ ๊ฐœ์˜ ๊ฐ€์ƒ DOM์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฐ€์ƒ DOM์€ ๋ณ€๊ฒฝ ์ด์ „์˜ ๋‚ด์šฉ์„, ๋‘ ๋ฒˆ์งธ ๊ฐ€์ƒ DOM์€ ๋ณ€๊ฒฝ ์ดํ›„์— ๋ณด์—ฌ์งˆ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์ด ํ™”๋ฉด์— ์ƒˆ๋กญ๊ฒŒ ๊ทธ๋ ค์ง€๊ธฐ ์ „, ์ฆ‰ ์‹ค์ œ DOM์ด ๋ณ€๊ฒฝ๋˜๊ธฐ ์ด์ „์— React๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ€์ƒ DOM์„ ๋น„๊ตํ•˜์—ฌ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํšจ์œจ์ ์œผ๋กœ ์ฐพ์•„๋‚ด๋Š” ์ž‘์—…(๋˜๋Š” Diffing)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

์ด๋•Œ,

React๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ ํƒ€์ž…์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋ชจ๋“  ์ž์‹ ์š”์†Œ๋‚˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž์‹ ์š”์†Œ๊ฐ€ ๋งŽ์€ ๋ถ€๋ชจ ์š”์†Œ์˜ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๋ฉด ํ™”๋ฉด์ด ์ž ๊น ๋Š๊ธด ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ React๋Š” ์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ทธ ๋’ค์— ์žˆ๋Š” ์š”์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๊ฐ’์„ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—ฐ์‚ฐ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ๊ฐ€์ƒ DOM์„ ์‚ฌ์šฉํ•˜๋ฉด React๊ฐ€ ๋ Œ๋”๋ง์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๊ฐ€์ƒ DOM์€ React์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•œ ํ•ต์‹ฌ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

 

 

๐Ÿ“Ž ๋‚ด์šฉ ์ฐธ์กฐ

-  Youtube: ๋ณ„์ฝ”๋”ฉ์˜ React์˜ ๊ฐ€์ƒ๋” (Virtual DOM)์ด ๋ญ”๊ฐ€์š”?

- ์ฑ… <์‹ค์ „ ๋ฆฌ์•กํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ> ์ด์žฌ์Šน ์ง€์Œ

 

 

๋Œ“๊ธ€