Virtual DOM

React๋Š” ๊ฐ€์ƒ ๋”(Virtual DOM)์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค.

๊ฐ€์ƒ ๋”์— ๋Œ€ํ•ด ์–˜๊ธฐํ•˜๊ธฐ ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ ๋”(DOM)์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž.

๋”(DOM)์€ Document Object Model์˜ ์•ฝ์ž๋กœ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ์„ ๋งํ•œ๋‹ค.

๋ง์ด ์ข€ ์–ด๋ ค์šด๋ฐ ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด, ์šฐ๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜๋งŽ์€ ๋…ธ๋“œ์— ์ ‘๊ทผ ๋ฐ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ~~์˜ ๊ฒฝ๋กœ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค, ์ด ํŽ˜์ด์ง€๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค ๋“ฑ์„ ์•Œ๋ ค์ฃผ๋Š” ํŠธ๋ฆฌํ˜•ํƒœ์˜ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ณผ์—ฐ ๊ฐ€์ƒ ๋”์€ ๋ฌด์—‡์ผ๊นŒ?

๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ƒ๊ฐํ•ด๋ณด์ž. "๊ฐ€์ƒ"์˜ "๋”"์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ธฐ์กด์˜ ๋”๊ณผ ๋ณ„๊ฐœ๋กœ ๊ฐ€์ƒ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋”์„ ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋Ÿผ ๊ธฐ์กด์˜ ๋”์ด ์กด์žฌํ•˜๋Š”๋ฐ ๊ตณ์ด ๊ฐ€์ƒ๋”์ด๋ผ๋Š” ๊ฐœ๋…์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฌด์—‡์ผ๊นŒ?

ํ•œ๋ฒˆ ๊ธฐ์กด์˜ ํŽ˜์ด์ง€์˜ ๊ตฌ์„ฑ ๋…ธ๋“œ์—์„œ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.

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

์ด ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฒจ๋‚œ ๊ฐœ๋…์ด ๋ฐ”๋กœ ๊ฐ€์ƒ ๋”์ด๋‹ค.

๋”ํŠธ๋ฆฌ์— ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๊ฒŒ๋˜๋ฉด, ๊ธฐ์กด์˜ ๋”๊ณผ ๋™์ผํ•œ ๋”๊ณผ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚œ ํ›„์˜ ๋”์ด ์ƒ์„ฑ๋œ๋‹ค. (์ด๋•Œ ์ด ๊ฐ€์ƒ๋”์€ JS๊ฐ์ฒด๋กœ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์— ์ €์žฅ๋œ๋‹ค.)

์ด ๋‘๊ฐœ์˜ ๊ฐ€์ƒ๋”์„ ๋น„๊ตํ•˜์—ฌ ์–ด๋–ค ๋…ธ๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€๋ฅผ ์ฐพ์•„์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ์‹ค์ œ ๋”์— ํ•œ๋ฒˆ์— ์ ์šฉํ•œ๋‹ค. ์ฆ‰, ๋ช‡๊ฐœ์˜ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋Š”์ง€์™€ ์ƒ๊ด€์—†์ด ์‹ค์ œ ๋”์—๋Š” 1๋ฒˆ์˜ ๋ฆฌ๋ Œ๋”๋ง๋งŒ ์‹ค์‹œ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

Last updated