# Basics of React

Doozuuยท2022๋…„ 12์›” 26์ผ
0

React

๋ชฉ๋ก ๋ณด๊ธฐ
1/23
post-custom-banner

๐Ÿ“Œ React๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

React๋Š” UI๋ฅผ interative ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

  1. ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„๋ฅผ ๊น”๋”ํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ์ง์„ฑ(organization)์ด ๊ฐ•ํ•จ
  2. ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“์€ ์กฐ๊ฐ์„ ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ(reusability)์ด ๋†’์Œ
  3. ๊ธฐ๋ณธ ์›น ํ”„๋กœ์ ํŠธ๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋ฐ”์ผ ์•ฑ(React Native๋กœ ๊ตฌํ˜„), ๋ฐ์Šคํฌํƒ‘ ์•ฑ(Electron์œผ๋กœ ๊ตฌํ˜„)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๋งค์šฐ ์œ ์—ฐ์„ฑ(flexibility)์ด ๋†’์Œ

๋ฐ”๋‹๋ผJS์™€ React ๋ฐฉ์‹์˜ ์ฐจ์ด

  • ๋ฐ”๋‹๋ผ JS : HTML์„ ๋จผ์ € ๋งŒ๋“ค๊ณ , JS๋กœ HTML์„ ๊ฐ€์ ธ์™€์„œ ์ˆ˜์ •(๋ฒˆ๊ฑฐ๋กœ์›€)
  • React : JS๋กœ HTML ์š”์†Œ๋ฅผ ๋ฐ”๋กœ ๋งŒ๋“ค๊ณ  ์ˆ˜์ •

๐Ÿ“Œ JSX(JavaScript XML) : JS๋ฅผ ํ™•์žฅํ•œ ๋ฌธ๋ฒ•

HTML์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•๊ณผ ํก์‚ฌํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ด HTML ์š”์†Œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  • createElement ๋Œ€์‹  ์‚ฌ์šฉ.
  • ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ JSX๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€ํ™˜์„ ์œ„ํ•ด Babel์„ ์„ค์น˜ํ•ด์ฃผ์–ด์•ผ ํ•จ.
    Babel : JSX๋กœ ์ ์€ ์ฝ”๋“œ๋ฅผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ด์คŒ.

์˜ˆ์‹œ

const title = <h3 id="title">hello!</h3>

์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์— ๋„ฃ๋Š” ๋ฐฉ๋ฒ•

</> ์•ˆ์— ๋„ฃ์–ด์ค€๋‹ค.

์ฃผ์˜ :
1. ์ปดํฌ๋„ŒํŠธ์˜ ์ฒซ ๊ธ€์ž๋Š” ํ•ญ์ƒ ๋Œ€๋ฌธ์ž์—ฌ์•ผ ํ•œ๋‹ค.
-> ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฉด HTML ํƒœ๊ทธ๋กœ ์ธ์‹ํ•จ.
2. ์ปดํฌ๋„ŒํŠธ๋Š” ํ•จ์ˆ˜๋กœ ๋งŒ๋“ค์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

const Title = () => {
	<h1>hello!</h1>
}

const Button = () => {
	<button onClick = {()=>{color : red}}>
  	  click me 
	</button>
}

const Container = (
  <div>
    <Title/>
    <Button />
  </div>
)

โญ๏ธ create react app

1. node -v, npx command ์‹คํ–‰ํ™•์ธ

  • iterm์—์„œ node -v ๋กœ ๋ฒ„์ „ ํ™•์ธ. npx๋„ ์ž˜ ๋˜๋Š”์ง€ ํ™•์ธ.
  • ๋งจ ์ฒ˜์Œ๋งŒ ํ™•์ธํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

2. ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ฌธ๊ตฌ ์ž…๋ ฅ

npx create-react-app ํ”„๋กœ์ ํŠธ์ด๋ฆ„

ํ˜น์€ npm install -g create-react-app, create-react-app ํ”„๋กœ์ ํŠธ ์ด๋ฆ„

3. vscode ์‹คํ–‰

code ํ”„๋กœ์ ํŠธ์ด๋ฆ„

4. ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜ ๋ฌธ๊ตฌ ์ž…๋ ฅ

npm start
  • ๊ฐœ๋ฐœ์šฉ ์„œ๋ฒ„ ๋งŒ๋“ฆ.
profile
๋ชจ๋“ ๊ฒŒ ์ƒˆ๋กญ๊ณ  ์žฌ๋ฐŒ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ์ƒˆ์‹น
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€