ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toFrontend
์๋ฌธ ์ฝ๊ธฐ
JSX Transpilation๊ณผ Bundling์ ํตํ React ๋ฐํ์ ํ์ดํ๋ผ์ธ ๊ตฌ์กฐ ๋ถ์
๐React Learning Journey โ Day 3: Understanding JSX, Components, Props, Bundlers, and What Happens After `npm run dev`
AI ์์ฝ
Context
๋ธ๋ผ์ฐ์ ๊ฐ JSX ๋ฌธ๋ฒ๊ณผ ๋ค์์ ๋ชจ๋ ํ์ผ์ ์ง์ ํด์ํ์ง ๋ชปํ๋ ๊ธฐ์ ์ ์ ์ฝ ์กด์ฌ. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ ๋จ๊ณ์ ์ฝ๋๋ฅผ ๋ธ๋ผ์ฐ์ ์คํ ๊ฐ๋ฅ ํํ๋ก ๋ณํํ๋ ๋น๋ ํ๋ก์ธ์ค ํ์.
Technical Solution
- Vite ๊ธฐ๋ฐ Development Server ์ด์์ ํตํ ํ์ผ ๋ณ๊ฒฝ ๊ฐ์ง ๋ฐ ์๋ ๋ธ๋ผ์ฐ์ ๊ฐฑ์ ๊ตฌ์กฐ ์ค๊ณ
- Babel ๋ฑ Transpiler๋ฅผ ํ์ฉํ์ฌ JSX ๊ตฌ๋ฌธ์ React.createElement() ํ์ค JavaScript ํจ์ ํธ์ถ๋ก ๋ณํ
- Bundler๋ฅผ ํตํ ๋ถ์ฐ๋ ์ปดํฌ๋ํธ ํ์ผ๋ค์ ์ต์ ํ๋ ๋จ์ผ ๋๋ ์์ ๋ฌถ์ ํ์ผ๋ก ๋ณํฉํ์ฌ ๋คํธ์ํฌ ์์ฒญ ๊ฐ์ ์ ๋
- UI๋ฅผ ๋ ๋ฆฝ์ ์ธ Component ๋จ์๋ก ๋ถ๋ฆฌํ์ฌ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ ๋ฐ ์ ์ง๋ณด์ ํจ์จ์ฑ ์ฆ๋
- Props ์ฒด๊ณ๋ฅผ ํตํ ์ปดํฌ๋ํธ ๊ฐ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ ๋ฐ ์ํ ์ ๋ฌ ๋ฉ์ปค๋์ฆ ๊ตฌํ
์ค์ฒ ํฌ์ธํธ
- ๋น๋ ๋๊ตฌ(Vite, Webpack ๋ฑ)์ Transpilation ๊ณผ์ ์ด ์ค์ ๋ฐํ์ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ ๊ฒํ - ์ปดํฌ๋ํธ ๋ถ๋ฆฌ ์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๋ณต์ก๋ ๊ฐ์ Trade-off๋ฅผ ๊ณ ๋ คํ ์ค๊ณ ๊ธฐ์ค ์๋ฆฝ - JSX๊ฐ ์ต์ข ์ ์ผ๋ก ๋ณํ๋๋ JavaScript ํํ๋ฅผ ์ดํดํ์ฌ ๋ ๋๋ง ์ต์ ํ ํฌ์ธํธ ์๋ณ