elice/WIL

[week_08] React ๊ธฐ์ดˆ โ… (1) OT

๊ฑด๋ง๋”” 2022. 2. 28. 10:21

1. SPA (Single Page Application)

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ตœ์ดˆ ์ ‘์† ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML์„ ์ „๋‹ฌ ๋ฐ›๋Š”๋‹ค. ๊ทธ ํ›„ ํŽ˜์ด์ง€์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ JSON์œผ๋กœ ์ „๋‹ฌ ๋ฐ›๋Š”๋‹ค. ์ด ๋•Œ, ํŽ˜์ด์ง€์—์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ณ„์‚ฐํ•˜์—ฌ ๋‹ค์‹œ ๊ทธ๋ฆฌ๊ฒŒ ๋œ๋‹ค. (์ „ํ†ต์ ์ธ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ, ๋ณ€๊ฒฝ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค HTML์„ ์ƒˆ๋กœ ๋ฐ›์•„์„œ ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ทธ๋ฆผ)

๐Ÿ‘‰ React๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋Ÿฌํ•œ ํ–‰์œ„๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค!

 

2. React

  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • Component : React์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„
  • Virtual DOM : ๊ฐ€์ƒ์ ์ธ ํ‘œํ˜„์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ , ReactDOM๊ณผ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜ํ•ด ์‹ค์ œ DOM๊ณผ ๋™๊ธฐํ™”ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…
  • JSX : JavaScript ๋‚ด์—์„œ UI๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ต์ˆ™ํ•œ ํ™˜๊ฒฝ ์ œ๊ณต, Template ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, HTML๊ณผ ์œ ์‚ฌ

 

3. React์˜ ์žฅ์ 

1) ์ƒ์‚ฐ์„ฑ / ์žฌ์‚ฌ์šฉ์„ฑ

  • Component์™€ Hook์„ ํ™œ์šฉ
  • ์ž‘์€ ๋‹จ์œ„์˜ ๋…๋ฆฝ์ ์ธ ์š”์†Œ๋กœ ๊ฐœ๋ฐœ โžก ์ƒ์‚ฐ์„ฑ๊ณผ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ ํ–ฅ์ƒ
  • JSX๋ฅผ ํ™œ์šฉํ•˜์—ฌ HTML ๋‚ด์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ณต๊ฐ„์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์–ด์„œ ๊ฐœ๋ฐœ์ด ๊ฐ„๋‹จํ•ด์ง€๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๊ฐœ๋ฐœ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.

2) ํ’๋ถ€ํ•œ ์ž๋ฃŒ / ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • Fluent UI, Ant Design, styled components, Redux, Mobx, React Hook Form, ...

3) ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ฒ˜

  • ๋‹จ์ˆœ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด์™ธ์—๋„ React-Native์— ์ ์šฉํ•˜์—ฌ ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ

 

4. React์˜ ํŠน์ง•

1) HTML ๋‚ด์— ์ค‘๊ด„ํ˜ธ({})๋ฅผ ํ™œ์šฉํ•ด์„œ JavaScript ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ

2) ์ปดํฌ๋„ŒํŠธ ํ˜•ํƒœ๋กœ ํ•˜๋‚˜์˜ ๋ธ”๋ก์„ ๋งŒ๋“ค์–ด์„œ ํ•„์š”ํ•œ ๊ณณ์— ์กฐ๋ฆฝํ•˜์—ฌ ๊ฐœ๋ฐœ

3) ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ State๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ๋™์ ์œผ๋กœ ๊ด€๋ฆฌ ๐Ÿ‘‰ State๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค์‹œ ๋ Œ๋”๋ง(Rendering) ๋œ๋‹ค.

 

 

 

๋Œ“๊ธ€์ˆ˜0