Post

๐ŸŒŒ React ์ž…๋ฌธ โ…  - ๊ฐœ์š”

๐ŸŒŒ React ์ž…๋ฌธ โ…  - ๊ฐœ์š”

๐Ÿ“˜ ใ€Ž์†Œํ”Œ์˜ ์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธใ€๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

React๋ž€?

  • ๋Œ€ํ‘œ์ ์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ์ƒํ˜ธ ์ž‘์šฉ์„ ๋„์™€์ค€๋‹ค.
  • React๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์•„๋‹Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฏ€๋กœ ํ๋ฆ„์˜ ์ œ์–ด ๊ถŒํ•œ์ด React๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ๋‹ค.
  • SPA ๊ธฐ๋ฐ˜์˜ React๋Š” ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋งŒ ์กด์žฌํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ ํŽ˜์ด์ง€ ๋‚ด์šฉ์„ ์ƒˆ๋กญ๊ฒŒ ๋ Œ๋”๋งํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค.
  • ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ SPA๋Š” Single Page Application์˜ ์•ฝ์–ด๋‹ค.

React๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ์ด์œ 

๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ JSP์™€ JQuery๋ฅผ ํ†ตํ•ด ํ”„๋ก ํŠธ์—”๋“œ ์˜์—ญ์„ ๊ตฌํ˜„ํ•ด ์™”๋‹ค. ์ด๋ฒˆ์— ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ REST API ์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉฐ ํ”„๋ก ํŠธ์—”๋“œ ์˜์—ญ์ด CSR์ผ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ์š”์ฒญ์„ ์ฃผ๊ณ  ๋ฐ›๋Š”์ง€, ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์‘๋‹ตํ•ด์•ผ ํ”„๋ก ํŠธ์—”๋“œ ์˜์—ญ์—์„œ ๊ฐ€๊ณตํ•ด์„œ ๋ Œ๋”๋ง ํ•˜๊ธฐ์— ์šฉ์ดํ•œ์ง€ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. Vue.js๋ณด๋‹ค๋Š” React ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ๋งŽ์„ ๊ฒƒ ๊ฐ™์•„์„œ React๋ฅผ ๋„์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค.

React์˜ ๊ฐ•์ 

  • Virtual DOM์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ Œ๋”๋ง ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ํŽ˜์ด์ง€์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ•ด์„œ ๋ Œ๋”๋ง ํ•˜์ง€ ์•Š๊ณ  ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•  ์ตœ์†Œํ•œ์˜ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์„ ๊พ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Meta๋ผ๋Š” ํฐ ์Šคํฐ์„œ์™€ ํ•จ๊ป˜, React ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŽ์•„ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ํ™œ๋ฐœํ•œ ์ง€์‹ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • React๋ฅผ ๊ณต๋ถ€ํ•œ ์ดํ›„์—๋Š” React Native์™€ Javascript๋ฅผ ํ†ตํ•ด ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋„ค์ดํ‹ฐ๋ธŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณด๋‹ค๋Š” ์„ฑ๋Šฅ์ด ์กฐ๊ธˆ ๋ถ€์กฑํ•˜์ง€๋งŒ ๊ฐ„๋‹จํ•œ ์ˆ˜์ค€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฐจ์ด๋ฅผ ๋А๋ผ์ง€ ๋ชปํ•  ์ •๋„๋กœ ๋ฏธ๋ฏธํ•˜๋‹ค.

React๋ฅผ ๋„์ž…ํ•  ๋•Œ ๊ณ ๋ คํ•  ์ 

  • ์ง€์†์ ์ธ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋กœ ์ธํ•ด ์ƒˆ๋กœ์šด ๋‚ด์šฉ๋“ค์ด ๊พธ์ค€ํžˆ ๋“ฑ์žฅํ•˜๋ฏ€๋กœ ๊ณต๋ถ€ํ•ด์•ผ ํ•  ์˜์—ญ์ด ๋ฐฉ๋Œ€ํ•˜๋‹ค.
  • ๋ Œ๋”๋ง ์†๋„๊ฐ€ ๋น ๋ฅธ ๋Œ€์‹  Component์˜ state๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.
  • Component์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ์ƒํƒœ ๊ด€๋ฆฌ์˜ ๋ณต์žก๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•œ๋‹ค.

ํšŒ๊ณ 

  • ์ƒํƒœ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•˜๋‹ค๋Š” React์˜ ๋‹จ์ ์œผ๋กœ ์ธํ•ด ํฐ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Redux ๋“ฑ์˜ ์™ธ๋ถ€ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ํ•œ๋‹ค.
  • ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ๋ชฉํ‘œ๋กœ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋”๋ผ๋„ React๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž ์ธ์ƒ์„ ์žฅ๊ธฐ์ ์œผ๋กœ ๋ณด์•˜์„ ๋•Œ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ๋‹ค.
This post is licensed under CC BY 4.0 by the author.