Study/React
[React] React์ Vanilla JS ๊ฐ๋ฐ์ ์ฐจ์ด์
React์ Vanilla JS ๊ฐ๋ฐ์ ์ฐจ์ด์ Vanilla JS React ์ฌ์ฉ์ ์ธํฐํ์ด์ค HTML ์์๋ก ๊ตฌํ ์ปดํฌ๋ํธ ๋จ์๋ก ์์ ๊ตฌํ ๊ธฐ๋ฅ ๋ฐ ์์ ์ ์ง ๊ด๋ฆฌ HTML์ JS ํ์ผ ๋ ๊ฐ๋ก ์ ์ง ๊ด๋ฆฌ ํ์ผ ํ๋๋ก ์ ์ง ๊ด๋ฆฌ ์ฝ๋์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ฒด๊ฐ ๋ฆฌ๋ ๋๋ง ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ๋ฆฌ๋ ๋๋ง React์ ์ฅ์ ๊ณต์ ๋ฌธ์ ๊ฐ์ด๋์ ์ปค๋ฎค๋ํฐ๋ ์๋ฃ๊ฐ ๋ง์ ์ฝ๊ฒ ์ ํ๊ณ ๋ฐฐ์ธ ์ ์์ ์ปดํฌ๋ํธ ๋จ์๋ก ๋๋์ด ๊ด๋ฆฌํ์ฌ ์ญํ ๊ณผ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๊ด๋ฆฌํ ์ ์์ด ์ฉ์ดํจ UI ์์ ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ด ์ข์ผ๋ฉฐ, ์ฝ๋ ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์์ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ณํํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด DOM ์ ์ฒด๋ฅผ ๋ฆฌ๋๋๋งํ๋ ๊ฒ์ด ์๋ ๋ณ๊ฒฝ๋ ๋ถ๋ถ์ ์ฒดํฌํ์ฌ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ๋ ๋๋ง๋์ด ์๋๊ฐ ๋น ๋ฆ
[React] ๊ฐ์ ๋(Virtual DOM)
DOM ์ด๋? DOM์ Documnet Object Model์ ์ค์๋ง๋ก, ์น ํ์ด์ง๋ฅผ ์ด๋ฃจ๋ ํ๊ทธ๋ค์ JS๊ฐ ์ด์ฉํ ์ ์๋๋ก ๋ธ๋ผ์ฐ์ ๊ฐ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ง๋ ๊ฐ์ฒด ๋ชจ๋ธ์ ๋งํ๋ค. ๊ทธ๋๋ก ํ์ด์ ํด์ํ๋ฉด ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ์ธ๋ฐ, html, head, body์ ๊ฐ์ ํ๊ทธ๋ค์ JS๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๊ดํ๊ณ ์ด์ฉํ ์ ์๋ ๊ฐ์ฒด์ธ ๊ฒ์ด๋ค. ๊ฐ๋จํ ๋งํด์ DOM์ HTML์ ์คํฌ๋ฆฝํธ ์ธ์ด๋ฅผ ์๋ก ์ด์ด์ฃผ๋ ์ญํ ์ ํ๊ฒ ๋๋ ๊ฒ์ด๋ค. JS๋ HTML ํ๊ทธ๋ค์๊ฒ Document๋ผ๋ ์ ์ญ ๊ฐ์ฒด๋ฅผ ํตํ์ฌ ์ ๊ทผํด ์กฐ์ข ํ๋ค. window๋ผ๋ ๊ฐ์ฒด๋ Document๋ผ๋ ์ ์ญ ๊ฐ์ฒด ์์์ ์์นํด ์๋ค. ๋ณดํต ๋ณธ์ธ์ HTML ์ด๋ React ์์ ์ ์์ํ๊ธฐ ์ , ํ์ด์ง์ DOM ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ ค ๋ณธ ํ์ ์์ํ๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด ์ข ๋ ์ฒด..