ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
๐Ÿš€React Learning Journey โ€“ Day 3: Understanding JSX, Components, Props, Bundlers, and What Happens After `npm run dev`
Dev.toDev.to
Frontend

JSX Transpilation๊ณผ Bundling์„ ํ†ตํ•œ React ๋Ÿฐํƒ€์ž„ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ ๋ถ„์„

๐Ÿš€React Learning Journey โ€“ Day 3: Understanding JSX, Components, Props, Bundlers, and What Happens After `npm run dev`

Bismay.exe2026๋…„ 6์›” 24์ผ8๋ถ„beginner

Context

๋ธŒ๋ผ์šฐ์ €๊ฐ€ JSX ๋ฌธ๋ฒ•๊ณผ ๋‹ค์ˆ˜์˜ ๋ชจ๋“ˆ ํŒŒ์ผ์„ ์ง์ ‘ ํ•ด์„ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ธฐ์ˆ ์  ์ œ์•ฝ ์กด์žฌ. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ ๋‹จ๊ณ„์˜ ์ฝ”๋“œ๋ฅผ ๋ธŒ๋ผ์šฐ์ € ์‹คํ–‰ ๊ฐ€๋Šฅ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค ํ•„์š”.

Technical Solution

  • Vite ๊ธฐ๋ฐ˜ Development Server ์šด์˜์„ ํ†ตํ•œ ํŒŒ์ผ ๋ณ€๊ฒฝ ๊ฐ์ง€ ๋ฐ ์ž๋™ ๋ธŒ๋ผ์šฐ์ € ๊ฐฑ์‹  ๊ตฌ์กฐ ์„ค๊ณ„
  • Babel ๋“ฑ Transpiler๋ฅผ ํ™œ์šฉํ•˜์—ฌ JSX ๊ตฌ๋ฌธ์„ React.createElement() ํ‘œ์ค€ JavaScript ํ•จ์ˆ˜ ํ˜ธ์ถœ๋กœ ๋ณ€ํ™˜
  • Bundler๋ฅผ ํ†ตํ•œ ๋ถ„์‚ฐ๋œ ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ๋“ค์„ ์ตœ์ ํ™”๋œ ๋‹จ์ผ ๋˜๋Š” ์†Œ์ˆ˜ ๋ฌถ์Œ ํŒŒ์ผ๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์š”์ฒญ ๊ฐ์†Œ ์œ ๋„
  • UI๋ฅผ ๋…๋ฆฝ์ ์ธ Component ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ํšจ์œจ์„ฑ ์ฆ๋Œ€
  • Props ์ฒด๊ณ„๋ฅผ ํ†ตํ•œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ๋‹จ๋ฐฉํ–ฅ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋ฐ ์ƒํƒœ ์ „๋‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ตฌํ˜„

- ๋นŒ๋“œ ๋„๊ตฌ(Vite, Webpack ๋“ฑ)์˜ Transpilation ๊ณผ์ •์ด ์‹ค์ œ ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ๊ฒ€ํ†  - ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ ์‹œ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ๋ณต์žก๋„ ๊ฐ„์˜ Trade-off๋ฅผ ๊ณ ๋ คํ•œ ์„ค๊ณ„ ๊ธฐ์ค€ ์ˆ˜๋ฆฝ - JSX๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ๋ณ€ํ™˜๋˜๋Š” JavaScript ํ˜•ํƒœ๋ฅผ ์ดํ•ดํ•˜์—ฌ ๋ Œ๋”๋ง ์ตœ์ ํ™” ํฌ์ธํŠธ ์‹๋ณ„

์›๋ฌธ ์ฝ๊ธฐ