๋ฆฌ์กํธ๋ ui์ ์ง์คํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค
๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ฏ๋ก ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ๋ชจ๋ ์ค์นํด์ผํ๋ค.
ํ๋ ์์ํฌ๋
์ฅ์
ui๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.(querySelector๋ก ํ๋ํ๋ ์๋ฆฌ๋จผํธ๋ฅผ ๋ถ๋ฌ์ค์ง ์์๋๋จ)
์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ๊ทธ๋๋ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๊ณต๋ถํ ๋ฌธ๋ฒ๋ค์ด ์ ๋ค.
๋ง์ ์ฌ์ฉ์๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฐธ๊ณ ํ ๋ ํผ๋ฐ์ค๋ค์ด ๋ง๋ค.
์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฌ์ฉ์ด ์ฉ์ดํ๊ฒ ์ฝ๋ ๊ฐ๋ฐํ ์ ์๋ค.
๋ฆฌ์ก๋๋ฅผ ๋ฐฐ์ฐ๋ฉด React Native๋ฅผํตํด ๋ชจ๋ฐ์ผ ๊ฐ๋ฐ์ ํ ์ ์๋ค.
jSX(JavaScript XML)์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ผ๋ก jSX๋ฅผ ์ฌ์ฉํ์ฌ React ์๋ฆฌ๋จผํธ๋ฅผ ๋ง๋ค ์ ์๋ค.
jSX๊ฐ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํ์ฅํ ๋ฌธ๋ฒ์ด๋ผ๊ณ ํด๋ ๋ธ๋ผ์ฐ์ ๋ jSX๋ฅผ ํด์ํ์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก 'Babel'์ด jSX๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๋ณํํด์ค๋ค.
map()
ํจ์๋ฅผ ์ฌ์ฉํ๋ฉฐ, map()
ํจ์๋ฅผ ์ฌ์ฉํ ๋๋ ๋ฐ๋์ key JSX ์์ฑ์ ๋ฃ์ด์ผ ํ๋ค.(filter ์ฌ์ฉ ํ์ map ์ฐ๋ ๋ฑ ํ์ฉ ๊ฐ๋ฅ)์ปดํฌ๋ํธ๋ ํ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ ์ฌ๋ฌ ์ข ๋ฅ์ ์ฝ๋ ๋ฌถ์์ด๋ค. ์ปดํฌ๋ํธ๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค๊ณ ์กฐํฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋ค.
๋ชจ๋ ๋ฆฌ์กํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ํ ๊ฐ์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด ์ปดํฌ๋ํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์ ์ผ๋ก๋ ๊ทผ์(root)์ด ๋๋ ์ญํ ์ ํ๋ค. ์ด ์ต์์ ์ปดํฌ๋ํธ๋ ๊ทผ์์ ์ญํ ์ ํ๋ฏ๋ก ๋ค๋ฅธ ์์ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ง ์ ์๋ค. ์ฆ, ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
Create React App์ ๋ฆฌ์กํธ SPA๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ๋ง๋ค์ด์ง ํด ์ฒด์ธ์ด๋ค.
npx create-react-app@latest ํด๋์ด๋ฆ
์ผ๋ก ์ค์น ๊ฐ๋ฅ
npm start
๋ก ํ์ด์ง ์ด์ ์์