๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ“บ Front End/- React, Next.js

[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] React๋ฅผ ๋ถ„์„ํ•ด๋ณด์ž. (๋ถ€์ œ :: create-react-app์— ๋Œ€ํ•ด ๋ถ„์„ํ•ด๋ณด์ž)

by Wonit 2020. 7. 19.

๋ฆฌ์•กํŠธ๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋ฆฌ์•กํŠธ๋Š” ํŽ˜์ด์Šค๋ถ์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค.

 

์‚ฌ๋žŒ๋“ค์ด ๋Œ€๋ถ€๋ถ„ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋ฆฌ์•กํŠธ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ ์žˆ๋Š” ์—ฌ๋Ÿฌ javascript ํ”„๋ ˆ์ž„์›Œํฌ๋“ค๊ณผ ํ™•์‹คํžˆ ๋‹ค๋ฅด๋‹ค.

Angular.js (์ขŒ) , Vue(์šฐ)

์‚ฌ๋žŒ๋“ค์ด ์˜คํ•ดํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋‚ด์šฉ์€ React๋Š” ์›น ๊ฐœ๋ฐœ์— ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ๋Š”๋ฐ, ์‚ฌ์‹ค React๋Š” UI๋ฅผ ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์กฐ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” UI๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

React ์ž…๋ฌธํ•˜๊ธฐ

์šฐ๋ฆฌ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๋ผ์šฐํŒ…, ๋นŒ๋“œ ํ™˜๊ฒฝ ๊ตฌ์„ฑ, ๋ถ„์„๋“ฑ๊ณผ ๊ฐ™์€ ์„ธํŒ…์„ ์ง์ ‘ ๊ตฌ์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค.

 

์˜ˆ์ „์—๋Š” ๊ฐœ์ธ๋“ค์ด ๋‚ด๋Š” Bolierplate ๋ฆฌ์•กํŠธ์— ์˜์กดํ•ด์„œ ๊ฐœ๋ฐœ์„ ํ–ˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, ๊ทธ์— ๋”ฐ๋ฅธ ๊ฐ๊ฐ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์— ๋ถˆํŽธํ•จ์„ ๋Š๋‚€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์žˆ์—ˆ๊ณ , ๊ทธ ๋งŒํผ ์ง„์ž… ์žฅ๋ฒฝ์ด ๋†’์•˜๋˜ ๊ฒƒ๋„ ์‚ฌ์‹ค์ด์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฆฌ์•กํŠธ๋ฅผ ์ฐฝ์‹œํ•œ ํŽ˜์ด์Šค๋ถ์—์„œ๋Š” ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถ”๊ธฐ์œ„ํ•ด Create React App์ด๋ผ๋Š” ๊ฒƒ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

Create-React-App

Create-React-App์„ ์ด์šฉํ•ด์„œ ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ๋œ ํŒจํ‚ค์ง€์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

Create-React-App์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด npmํ™˜๊ฒฝ์—์„œ ํ„ฐ๋ฏธ๋„๋กœ

 

npm create-react-app app-name

 

์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์ž๋™์ ์œผ๋กœ ๊ตฌ์„ฑ์ด ๋œ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฉด ์ž๋™์œผ๋กœ

์•„๋ž˜์™€ ๊ฐ™์ด ๋งŽ์€ ํŒŒ์ผ๋“ค์ด ์ƒ์„ฑ์ด ๋˜๋Š” ๊ฒƒ์ผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ๋ฆฌ์•กํŠธ๋Š” UI๋ฅผ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ์‹œ์ผœ์ฃผ๋Š” *_UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ *_๋ผ๊ณ  ํ–ˆ์—ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๊ทธ ๋ฆฌ์•กํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ UI๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.

React๋Š” ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐˆ๊นŒ?

index.html

npm create-react-app app-name

 

์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ๋’ค index.html ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์œ„์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ,

 

์ด ๋ถ€๋ถ„์„ ์œ ์‹ฌํžˆ ๋ด๋ณด์ž.

 

ํƒœ๊ทธ๋กœ ๋”ฐ์ง€๋ฉด <body> </body>์— ์žˆ๋Š” ์œ ์ผํ•œ ํƒœ๊ทธ์ธ <div></div> ํƒœ๊ทธ์—์„œ root๋ผ๋Š” ์•„์ด๋””๋กœ ์„ค์ •์ด ๋˜์–ด์žˆ๊ณ , index.js๋กœ ๋“ค์–ด๊ฐ€๋ฉด

root๋ผ๋Š” ์—˜๋ฆฌ๋จผํŠธ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์™€ ReactDom์ด๋ผ๋Š” ๊ฐ€์ƒ ๋”์— ์˜ํ•ด์„œ ๊ด€๋ฆฌ๊ฐ€ ๋œ๋‹ค.

 

๋‹ค์Œ์— ๋ฐฐ์šฐ๊ฒŒ ๋  ๋‚ด์šฉ์ด์ง€๋งŒ React๋Š” ๊ฐ€์ƒ ๋”์„ ์ด์šฉํ•ด์„œ HTML ํƒœ๊ทธ๋ฅผ root๋ผ๋Š” <div></div> ํƒœ๊ทธ ๋‚ด๋ถ€์— ๊ฝ‚์•„ ๋„ฃ๋Š”๋‹ค๋Š” ๋Š๋‚Œ์œผ๋กœ ์ง„ํ–‰์ด ๋œ๋‹ค.

 

 

'๐Ÿ“บ Front End > - React, Next.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] ๋ฆฌ์•กํŠธ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ๋ผ์šฐํŒ… ํ•˜๋Š” ๋ฐฉ๋ฒ• (2) ๋ถ€์ œ :: Broswer History API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ํ•˜๊ธฐ  (0) 2020.07.20
[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] ๋ฆฌ์•กํŠธ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ๋ผ์šฐํŒ… ํ•˜๋Š” ๋ฐฉ๋ฒ• (1) ๋ถ€์ œ :: Single Page Application์ด ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ๋ฆฌ์•กํŠธ์—์„œ ์‚ฌ์šฉํ• ๊นŒ?  (2) 2020.07.20
[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] ๋ฆฌ์•กํŠธ์˜ ํ•ต์‹ฌ JSX์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. (๋ถ€์ œ :: ๋ฆฌ์•กํŠธ์—์„œ๋Š” JSX๋ฅผ ์–ด๋–ป๊ฒŒ ์ด์šฉํ• ๊นŒ?)  (0) 2020.07.20
[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] Create-React-App์œผ๋กœ ๋ฆฌ์•กํŠธ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด๋ณด์ž.  (0) 2020.07.20
[๋ฆฌ์•กํŠธ ๋ถ„์„ํ•˜๊ธฐ] ์šฐ๋ฆฌ๋Š” ์™œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ด์šฉํ•ด์•ผ ํ• ๊นŒ?  (0) 2020.07.19

๋Œ“๊ธ€