[๋ธ๋ก๊ทธ ์ด์ ]
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 |
---|