๐ฉ๐ป๐ป 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)์ด ๋ญ๊ฐ์?
- ์ฑ <์ค์ ๋ฆฌ์กํธ ํ๋ก๊ทธ๋๋ฐ> ์ด์ฌ์น ์ง์
'๐ ๊ธฐ์ ๋ฉด์ > Library' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
useEffect์ dependency array์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. (0) | 2023.04.10 |
---|---|
React ์ปดํฌ๋ํธ์ key ์์ฑ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. (0) | 2023.04.10 |
React์ props์ state์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. (0) | 2023.04.04 |
๋๊ธ