Virtual DOM
Last updated
Last updated
React๋ ๊ฐ์ ๋(Virtual DOM)์ ์ฌ์ฉํ๋ค๊ณ ์๋ ค์ ธ ์๋ค.
๊ฐ์ ๋์ ๋ํด ์๊ธฐํ๊ธฐ ์ ์ ๊ฐ๋จํ๊ฒ ๋(DOM)์ ๋ํด ์ดํด๋ณด์.
๋(DOM)์ Document Object Model์ ์ฝ์๋ก ๋ฌธ์ ๊ทธ๋๋ก ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ์ ๋งํ๋ค.
๋ง์ด ์ข ์ด๋ ค์ด๋ฐ ๊ฐ๋จํ ๋งํ์๋ฉด, ์ฐ๋ฆฌ๊ฐ ๋ธ๋ผ์ฐ์ ์์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ง์ ๋ ธ๋์ ์ ๊ทผ ๋ฐ ์กฐ์ํ๊ธฐ ์ํด์๋ ~~์ ๊ฒฝ๋ก๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค, ์ด ํ์ด์ง๋ ์ด๋ฐ ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค ๋ฑ์ ์๋ ค์ฃผ๋ ํธ๋ฆฌํํ์ ๊ฐ์ฒด ๋ชจ๋ธ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ณผ์ฐ ๊ฐ์ ๋์ ๋ฌด์์ผ๊น?
๋ฌธ์ ๊ทธ๋๋ก ์๊ฐํด๋ณด์. "๊ฐ์"์ "๋"์ด๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ ๊ธฐ์กด์ ๋๊ณผ ๋ณ๊ฐ๋ก ๊ฐ์์ผ๋ก ์กด์ฌํ๋ ๋์ ๋งํ๋ ๊ฒ ๊ฐ๋ค.
๊ทธ๋ผ ๊ธฐ์กด์ ๋์ด ์กด์ฌํ๋๋ฐ ๊ตณ์ด ๊ฐ์๋์ด๋ผ๋ ๊ฐ๋ ์ ๋ง๋ค์ด ์ฌ์ฉํ๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น?
ํ๋ฒ ๊ธฐ์กด์ ํ์ด์ง์ ๊ตฌ์ฑ ๋ ธ๋์์ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์.
๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ํธ๋ฆฌํํ์ด๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ์ด ์ผ์ด๋ ๋ ธ๋๋ฅผ ํ์ธํ๋ ค๋ฉด ์ฌ๋ฌ ๋ถ๋ชจ ๋ ธ๋๋ฅผ ๊ฑฐ์ณ ํด๋น ๋ ธ๋๋ฅผ ํ์ธ ํ, ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๊ธฐ ์ํด ๋ค์ CSS๋ฅผ ํ์ฑํ๊ณ ์๋ก์ด ๋ํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค. ์ด ๋ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ ์ด์์์ ๊ทธ๋ ค์ผํ๊ณ , ๋ณ๊ฒฝ ๋ด์ฉ์ด ์ฌ๋ฌ๊ฐ๋ผ๋ฉด ์ฌ๋ฌ๋ฒ์ ๋ฆฌ๋ ๋๋ง ๊ณผ์ ์ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์ ํ์์ด์์ ๋ฆฌ์์ค๊ฐ ์๋ชจ๋๋ค๋ ๋จ์ ์ด ์๋ค.
์ด ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ์๊ฒจ๋ ๊ฐ๋ ์ด ๋ฐ๋ก ๊ฐ์ ๋์ด๋ค.
๋ํธ๋ฆฌ์ ๋ณ๊ฒฝ์ด ์ผ์ด๋๊ฒ๋๋ฉด, ๊ธฐ์กด์ ๋๊ณผ ๋์ผํ ๋๊ณผ ๋ณ๊ฒฝ์ด ์ผ์ด๋ ํ์ ๋์ด ์์ฑ๋๋ค. (์ด๋ ์ด ๊ฐ์๋์ JS๊ฐ์ฒด๋ก ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ฅ๋๋ค.)
์ด ๋๊ฐ์ ๊ฐ์๋์ ๋น๊ตํ์ฌ ์ด๋ค ๋ ธ๋๊ฐ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋์๋์ง๋ฅผ ์ฐพ์์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ค์ ๋์ ํ๋ฒ์ ์ ์ฉํ๋ค. ์ฆ, ๋ช๊ฐ์ ๋ณ๊ฒฝ์ด ์ผ์ด๋์ง์ ์๊ด์์ด ์ค์ ๋์๋ 1๋ฒ์ ๋ฆฌ๋ ๋๋ง๋ง ์ค์๋๋ ๊ฒ์ด๋ค.