[๋ธ”๋กœ๊ทธ ์ด์ „]

2023.08.07

 

JSX : JavaScript XML

--> ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— XML์„ ํ™•์žฅํ•œ ๋ฌธ๋ฒ•

--> ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ XML/HTML ๋ฌธ๋ฒ•๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ

--> XML/HTML์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ JS ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™•์žฅ

โ€‹

- ์žฅ์  -

์ฝ”๋“œ ๊ฐ„๊ฒฐ / ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ / ๋ณด์•ˆ์„ฑ ํ–ฅ์ƒ

โ€‹

- ์‚ฌ์šฉ๋ฒ• -

XML/HTML์„ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ JS ์“ฐ๊ณ  ์‹ถ์€ ๊ณณ์— {js ๋ณ€์ˆ˜/ํ•จ์ˆ˜} ์‚ฌ์šฉ.

โ€‹

ex)

< JS >

React.createElement('div', null, 'Hello, ${name}');

< JSX >

<div>Hello, {name}</div>

โ€‹

์—ฌ๊ธฐ์„œ, React.createElement ๋Š” ๋ฌด์—‡์ด๋ƒํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ react element๋ฅผ ์ƒ์„ฑํ•ด ์คŒ.

 

const element = {
    type: 'div',
    props:{
        className: null,
        children: 'Hello, $(name)'
    }
}

๋ฌผ๋ก  ์ € ํ•œ ์ค„๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ฑด ์•„๋‹ˆ๊ณ  ๊ทธ๋ƒฅ ๊ทธ๋Ÿฐ ๊ฐœ๋…์ด๋‹ค~ ํ•˜๊ณ  ์ƒ๊ฐํ•˜๊ธฐ.

โ€‹

โ€‹

๊ตฌ๋‘์  `

โ€‹

โ€‹

< element >

: ํ™”๋ฉด ์ƒ์— ๋ˆˆ์œผ๋กœ ๋ณด์ด๋Š” ๊ฒƒ

โ€‹

- react element : ๋ฆฌ์•กํŠธ์˜ virtual DOM์— ์กด์žฌ

rendering

- DOM element : ์‹ค์ œ DOM์— ์กด์žฌ

โ€‹

- ๋ถˆ๋ณ€์„ฑ (element ์ƒ์„ฑ ํ›„์—๋Š” children์ด๋‚˜ prop๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.)

-> element๋ฅผ ๋ฐ”๊พธ์–ด์•ผ ํ• ๋•Œ๋Š”? (= ํ™”๋ฉด์— ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ๋ฐ”๋€Œ์–ด์•ผ ํ• ๋•Œ๋Š”?)

: ์ƒˆ๋กœ์šด element๋ฅผ ๋งŒ๋“ค์–ด ๊ธฐ์กด๊ณผ ๊ต์ฒด

'๐Ÿ–Œ๏ธFrontend > ๐Ÿš€React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[React] ๋ฆฌ์•กํŠธ ์‹œ์ž‘ํ•˜๊ธฐ  (0) 2025.02.20

[๋ธ”๋กœ๊ทธ ์ด์ „]

2022.03.08

 

1. ๋ฆฌ์•กํŠธ๋ž€?

: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•˜๋‚˜๋กœ์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

- ์‹ฑ๊ธ€ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

- JS ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ํ˜ธํ™˜๋œ๋‹ค.

โ€‹

2. package.json ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

๐Ÿ’— ๋ช…๋ น์–ด : npm init

- package name : ์ด๋ฆ„

- author : ์ž‘์„ฑ์ž

- license : MIT

โ€‹

3. package.json์— ์„ค์น˜ ์ฝ”๋“œ

๐Ÿ’— ๋ช…๋ น์–ด : npm i / (๊ฐœ๋ฐœ์ž๋ชจ๋“œ๋กœ->) npm i -D

- ์—ฌ๋Ÿฌ๊ฐœ ํ•œ ๋ฒˆ์— ์„ค์น˜ ์‹œ ๋„์–ด์“ฐ๊ธฐ๋กœ ๊ตฌ๋ถ„

โ€‹

3. ์‹คํ–‰ ์ฝ”๋“œ

๐Ÿ’— ๋ช…๋ น์–ด : npm run dev

โ€‹

โ€‹

'๐Ÿ–Œ๏ธFrontend > ๐Ÿš€React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[React] JSX  (1) 2025.02.21

+ Recent posts