WEB/Front-End๐ŸŒ

[React] ๋ฆฌ์•กํŠธ ๋ง›๋ณด๊ธฐ

narang111 2021. 9. 24. 23:49

 

๋ฆฌ์•กํŠธ๋Š” facebook.com์˜ UI๋ฅผ ๋” ์ž˜ ๋งŒ๋“ค๊ธฐ์œ„ํ•ด์„œ ํŽ˜์ด์Šค๋ถ์—์„œ ๋งŒ๋“  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์ด ์žˆ๋Š”๋ฐ ๋ฆฌ์•กํŠธ๋„ ์ด๋Ÿฐ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

 

๋ฆฌ์•กํŠธ์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ํ•ด์„œ ํƒœ๊ทธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ "์ปดํฌ๋„ŒํŠธ"๋ผ๊ณ  ์นญํ•œ๋‹ค.

 

์ด๋ ‡๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„œ๋ธŒํŽ˜์ด์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ํŽ˜์ด์ง€์—์„œ๋„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋‹ค. ํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐœ์„ , ์ˆ˜์ •ํ•˜๋ฉด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํƒœ๊ทธ๋“ค์—์„œ ๋™์‹œ์—, ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜์ด ๋œ๋‹ค.

1. ๊ฐ€๋…์„ฑ

2. ์žฌ์‚ฌ์šฉ์„ฑ

3. ์œ ์ง€๋ณด์ˆ˜

 

๋‚˜๋ฆ„๋Œ€๋กœ ์š”์•ฝํ•˜์ž๋ฉด ์กฐ๊ฐ๊ธฐ๋Šฅ, ์กฐ๊ฐhtml ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

 

์›น ์‚ฌ์ดํŠธ๋Š” ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ณต์žกํ•ด์ง„๋‹ค. ์ •๋ณด๊ฐ€ ์กฐ๊ธˆ๋งŒ ์ฆ๊ฐ€ํ•ด๋„ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” html ํƒœ๊ทธ๋Š” ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚œ๋‹ค.

์ด๊ฒƒ์ด ๋ฆฌ์•กํŠธ๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์ด๋‹ค.

 

 

โš™ ๊ฐœ๋ฐœํ™˜๊ฒฝ setting

- ๋ฆฌ์•กํŠธ ํ™ˆํŽ˜์ด์ง€

https://ko.reactjs.org/

 

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์„ ์ด์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์™„์„ฑํ•˜๊ธฐ