React ๋?
ํ๋ ์์ํฌ๊ฐ ์๋ JS์ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ค ํ๋์ด๋ค. UI ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ์ผ์ ํ์ฌ ์บก์ํ๋ฅผ ์์ผ์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ์ฆ๊ฐ์์ผ์ค๋ค.
ํน์ง
jsx : react๋ฅผ ์ํด ๋ง๋ค์ด๋ธ ์๋ก์ด js ๋ฌธ๋ฒ. ๊ทธ๋ฅ js๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ง๊ด์ ์ด๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์, ํ์ ๋ฑ ์ฅ์ ์ด ์๋ค.
babel
๊ณผ ๊ฐ์ ํธ๋์ค ํ์ผ๋ฌ๋ฅผ ์ด์ฉํ์ฌ jsx๋ฌธ๋ฒ์ js๋ก ๋ณํ์์ผ์ค์ผํ๊ธฐ ๋๋ฌธ์ ์ด๊ธฐ ์นํฉ,ํ๋ฌ๊ทธ์ธ๊ฐ์ ์ธํ ์ ๋ฒ๊ฑฐ๋ก์์ด ์๋ค.Component ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋์ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ๋ชจ๋ํ์ฌ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ ์ฆ๊ฐ
virtual DOM : DOM์ ์น์ ํต์ฌ์ผ๋ก์จ, ๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ์ํ ๋ฌธ์ ์ธ๋ฐ ๋ฐ์ดํฐ๊ฐ ๋ณํ ๋ ๋ง๋ค ๋ชจ๋ ์๋ก๊ณ ์นจ์ ํ๊ฒ ๋๋ฉด ๋ฃจํธ๋ถํฐ ์๋ก ๊ตฌ์ฑํ๋๋ผ ๋น์ฉ๋ ๋ง์ด ๋ค๋ฟ๋๋ฌ ์ฑ๋ฅ์ ์ ํ ๋ฌธ์ ๊ฐ ์กด์ฌํ์ง๋ง vitual DOM๋ฐฉ์์ ์ด์ฉํ์ฌ ๋ณ๊ฒฝ๋ถ๋ถ๋ง ์ฐพ์๋ด์ด ๋๋๋ง ํ๊ธฐ๋๋ฌธ์ ์ฑ๋ฅํฅ์๊ณผ ๋น์ฉ๋ฌธ์ ์์๋ ํจ๊ณผ์ ์ด๋ค.
๋ฐ์ดํฐ์ ํ๋ฆ์ด ๋จ๋ฐฉํฅ : react๋ ์์ ์ปดํฌ๋ํธ์์ ํ์ ์ปดํฌ๋ํธ ๋ฐฉํฅ์ผ๋ก๋ง ํ๋ฅด๊ณ ๋ฐ๋๋ก๋ ์ฌ๋ผ๊ฐ ์ ์๋ค. ์ด๋ ์ฅ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ ํ๋ฆ์ ์ดํดํ๊ธฐ ์ฌ์์ ธ ๊ฐ๋ฐ ๋น์ฉ์ ๊ฐ์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค.
SPA (single page application) : ํ๋์ ํ์ด์ง๋ก ์ด๋ฃจ์ด์ง ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก ํ๋์ html ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก js๋ฅผ ์ด์ฉํด ๋์ ์ผ๋ก ํ๋ฉด์ ์ปจํ ์ธ ๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ์์ด๋ค. CSR (client side rendering)๋ฐฉ์์ ์ฑํ. ReactDOMServer, next.js์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ssr (server side rendering)์ ๊ตฌํํ ์๋ ์๋ค.
Last updated