๋ฆฌ์กํธ(React)
ใดReact๋ ํ์ด์ค๋ถ์์ ๊ฐ๋ฐํ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI๋ฅผ ์์ฑํ ์ ์๊ฒ ํด์ค๋ค.
ใดReact๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ธด ํ์ง๋ง Redux, react-router์ ํจ๊ป ํ๋ ์์ํฌ์ฒ๋ผ ์ฌ์ฉ๋๋ค.
ใดReact๋ Virtual DOM์ด๋ผ๋ ๊ฐ๋
์ ์ฌ์ฉํ์ฌ ์ํ ๋ณํ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก UI๋ฅผ ๋ ๋๋งํ๋ค.
DOM (Document Object Model)
ใด๊ฐ์ฒด๋ฅผ ํตํด ๊ตฌ์กฐํ๋ ๋ฌธ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ. (XML,HTML๋ก ์์ฑ)
ใด์น ๋ธ๋ผ์ฐ์ (ํด๋ผ์ด์ธํธ)๋ DOM์ ํตํด์ javascript, css๋ฅผ ์ ์ฉํ๋ค.
DOM์ ๋ฌธ์ ์
ใดDOM API์ ์ต๋ ๋ฌธ์ ์ ์ ๋์ UI์ ์ต์ ํ๋์ง ์์์ด๋ค.
ใด๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์
๋๋ ์ ๋ง์ ๋ฐ์ดํฐ๊ฐ ๋ก๋ฉ๋๊ณ ํํํด์ผํ๋ ์ ํ๋ฆฌ์ผ์ด์
์์ DOM์ ์ง์ ์ ๊ทผํ์ฌ ํ๋ก ํธ์๋์ ๋ณํ๋ฅผ ์ฃผ๋ค ๋ณด๋ฉด ์ฑ๋ฅ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ใดDOM๋ณํ๊ฐ ์์ ๋๋ง๋ค css๋ฅผ ๋ค์ ์ฐ์ฐํ๊ณ ๋ ์ด์์์ ๊ตฌ์ฑํ ๋ค ํ์ด์ง๋ฅผ ๊ทธ๋ฆฐ๋ค. (์ด๊ฒ ์ค๋ ๊ฑธ๋ฆผ)
ใด๋ ์ด์์์ ๊ตฌ์ฑ์ ๊ณ์ฐํ๋ ๊ฒ์ด reflow, ๋ ์ด์์์ ๊ด๊ณ์๋ ๊ฒ๋ค์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด repaint๋ผ ํ๋ค.
ใด์๊ฐ๋ด์ reflow๊ฐ ์ฌ๋ฌ๋ฒ ๋ฐ์ํ๋ ค๊ณ ํ๋ฉด ์ด ์์
๋ค์ ๋ชจ์์ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋ค.
ใด์ต์ ํ๋ฅผ ํ์ง ๋ชปํ ๋๊ฐ ์์ด์ reflow ํ์๋ฅผ ์ค์ด๊ธฐ ์ํด ๋
ธ๋ ฅํด์ผ ํ๋ค.
ใด์ต์ํ์ DOM์กฐ์์ ํด์ผ ํ๋ค.
Virtual DOM
ใดVirtual DOM์ ์ฌ์ฉํ๋ฉด ์ค์ DOM์ ์ ๊ทผํด์ ๋ณ๊ฒฝํ๋ ๋์ , ์ถ์ํ์ํจ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฌ์ฉํ๋ค. (DOM์ฌ๋ณธ)
React์์ ์ฒ๋ฆฌ๊ณผ์
1) ๋ฐ์ดํฐ๋ก๋
2) Virtual DOM์ ๋ ๋๋ง
3) ์ด์ ๋ ๋๋ง ๋ด์ฉ๊ณผ Virtual DOM์ ์๋ ๋ด์ฉ์ ๋น๊ต
4) ๋ฐ๋ ๋ถ๋ถ๋ง DOM์ ์ ์ฉ
๋ฆฌ์กํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์
ใด Virtual DOM์ ํตํ UI ์
๋ฐ์ดํธ ๊ฐ๊ฒฐํ ๋ฐ ์ปดํฌ๋ํธ์ ์ ์ง๋ณด์๊ฐ ์ ์ฉ
๋ฆฌ์กํธ๋ฅผ ์์ํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ create-react-app์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
ํ๊ฒฝ์ค์ ํ ๋ babel, webpack ๋ฑ์ ์ค์นํด์ผ ํ์ง๋ง create-react-app์ผ๋ก ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค๋ฉด
์ด๋ฌํ ์์
๋ค์ create-react-app์ด ๋์ ์ค์ ํด์ฃผ๊ณ ์จ๊ฒจ์ค๋ค.
์ถ์ฒ ํ๊ธฐํด ์ฃผ์ธ์ โ
๋๊ธ