[React] ๋ฆฌ์กํธ ๋ง๋ณด๊ธฐ
๋ฆฌ์กํธ๋ facebook.com์ UI๋ฅผ ๋ ์ ๋ง๋ค๊ธฐ์ํด์ ํ์ด์ค๋ถ์์ ๋ง๋ ์๋ฐ์คํฌ๋ฆฝํธ UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
์ฌ์ฉ์ ์ ์ ํ๊ทธ๋ฅผ ๋ง๋ค์ด์ฃผ๋ ์ฌ๋ฌ ๊ธฐ์ ์ด ์๋๋ฐ ๋ฆฌ์กํธ๋ ์ด๋ฐ ๊ธฐ์ ์ค ํ๋์ด๋ค.
๋ฆฌ์กํธ์์๋ ์ฌ์ฉ์ ์ ์ํด์ ํ๊ทธ๋ฅผ ๋ง๋๋ ๊ฒ์ "์ปดํฌ๋ํธ"๋ผ๊ณ ์นญํ๋ค.
์ด๋ ๊ฒ ์ปดํฌ๋ํธ๋ฅผ ์์ฑํ๋ฉด ๊ฐ๋ ์ฑ์ ๋์ผ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ธํ์ด์ง๊ฐ ์๋ค๋ฉด ๊ทธ ํ์ด์ง์์๋ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ ธ๋ค ์ธ ์ ์๋ค. ํ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ , ์์ ํ๋ฉด ํด๋น ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ํ๊ทธ๋ค์์ ๋์์, ์ค์๊ฐ์ผ๋ก ๋ฐ์์ด ๋๋ค.
1. ๊ฐ๋ ์ฑ
2. ์ฌ์ฌ์ฉ์ฑ
3. ์ ์ง๋ณด์
๋๋ฆ๋๋ก ์์ฝํ์๋ฉด ์กฐ๊ฐ๊ธฐ๋ฅ, ์กฐ๊ฐhtml ์ธ ๊ฒ ๊ฐ๋ค.
์น ์ฌ์ดํธ๋ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋ณต์กํด์ง๋ค. ์ ๋ณด๊ฐ ์กฐ๊ธ๋ง ์ฆ๊ฐํด๋ ์ ๋ณด๋ฅผ ํํํ๋ html ํ๊ทธ๋ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๋ค.
์ด๊ฒ์ด ๋ฆฌ์กํธ๊ฐ ํ์ํ ์ด์ ์ด๋ค.
โ ๊ฐ๋ฐํ๊ฒฝ setting
- ๋ฆฌ์กํธ ํํ์ด์ง
React – ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ
A JavaScript library for building user interfaces
ko.reactjs.org
- ์ด ์ฌ์ดํธ์์ ์์ํ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ์จ๋ผ์ธ ์์์ ์นํ์ด์ง๋ฅผ ๋ง๋ค์ด๋ณผ ์ ์๋ ํ๊ฒฝ๋ ๋ค์ด๊ฐ ์ ์๋ค.
์๋ฅผ ๋ค๋ฉด codesandbox!
- ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ์น ์ฌ์ดํธ์ ๋ถ๋ถ์ ์ผ๋ก ๋ฆฌ์กํธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์๋ ์ต์ ์ด๋ค.
- tool chains์ ๋ฆฌ์กํธ๋ก ์ฑ์ ๊ฐ๋ฐํ ๋ ๋ชฉํ๊ฐ ๋ฌด์์ธ์ง์ ๋ฐ๋ผ์ ํ์ํ ์ฌ๋ฌ๊ฐ์ง ๊ฐ๋ฐํ๊ฒฝ, ๋๊ตฌ๋ฅผ ๋ชจ์์ ํ ๋ฒ์ ์ ๊ณตํด์ฃผ๋ ๊ฒ์ด๋ค.
์ด๋ป๊ฒ ํ๋์ง ๋ฐฐ์๋ณด์ธ์. ๋ฅผ ํด๋ฆญํ๋ฉด ์ถ์ฒ ํด์ฒด์ธ์ ๋ณผ ์ ์๋ค.
์ฌ๊ธฐ์ Create React App์ ๋๋ฌ ์์ธํ์ด์ง๋ก ๋ค์ด๊ฐ๋ค. ์ฌ๊ธฐ์ Create React App ์์ฒด๊ฐ ์ฑ ์ด๋ฆ์ด๋ค.
์ด๋ฐ ํ์ด์ง๊ฐ ๋์ค๋ฉด ํ ๋ฒ ๋ Create React App์ ๋๋ฅธ๋ค. ๊ทธ๋ผ ์ฑ์ ์์ค์ฝ๋๊ฐ ๋ณด๊ด๋ Github ์ฌ์ดํธ๊ฐ ๋ณด์ธ๋ค.
์ฐ๋ฆฌ๋ crate-react-app ์ ๋ด ์ปดํจํฐ์ ๊น ๊ฒ์ธ๋ฐ ์ด ๋ npm์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ด ํ์ํ๋ค.
npm์ด๋ node.js๋ผ๋ ๊ธฐ์ ์ ์ด์ฉํด์ ๋ง๋ค์ด์ง ์ฑ๋ค์ด ์๋๋ฐ ์ด๋ฐ ์ฑ๋ค์ ๋ช ๋ น์ด ํ๊ฒฝ์์ ์ฝ๊ฒ ์ค์นํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ์ด๋ค.
node.js ๊ณ์ ์ฑ์คํ ์ด ๊ฐ์ ์ํํธ์จ์ด์ด๋ค.
์์
1. npm ์ค์น
2. create react app ์ฑ ์ค์น
3. create react app์ ์ด์ฉํด์ ๊ฐ๋ฐํ ์ ์๋ ๊ฐ๋ฐ ํ๊ฒฝ ์์ฑํ๊ธฐ