[React] JSX
โ์๋ ๋ด์ฉ์ [๋ฆฌ์กํธ๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ์ ] ์ฑ ์์ ๊ณต๋ถํ ๋ด์ฉ์ ์์ฝํ์์ต๋๋ค.
JSX๋
์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ฅ๋ฌธ๋ฒ์ด๋ฉฐ, XML๊ณผ ๋งค์ฐ ๋น์ทํ๊ฒ ์๊น
JSX๋ฅผ ์ฌ์ฉํ๋ฉด,,,
- ํธํ๊ฒ ๋ ๋๋ง ๊ฐ๋ฅ
- HTML์ฝ๋์ ์ ์ฌํด์ ๋ณด๊ธฐ ์ฝ๊ณ , ์ต์
- ์ปดํฌ๋ํธ๋ฅผ HTMLํ๊ทธ ์ฐ๋ฏ์ด ์ฌ์ฉํ๋ฉด์ ํ์ฉ๋๊ฐ ๋์
์์)
import React from 'react';
function App(){
return(
<div>
<h1>๋ฆฌ์กํธ ์๋
!<h1>
<h2>์ ์๋ํ๋?<h2>
<div/>
);
}
export default App;
์์ ์ฝ๋์ฒ๋ผ h1ํ๊ทธ์ h2ํ๊ทธ๊ฐ divํ๊ทธ ํ๋๋ก ๊ฐ์ธ์ ธ์๋ค.
์ด๋ ๊ฒ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ์์ ์์ ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๋์ ์์๋ก ๊ฐ์ธ๋ ์ด์ ?
์ปดํฌ๋ํธ ๋ด๋ถ๋ ํ๋์ DOM ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค๋ ๊ท์น์ด ์๊ธฐ ๋๋ฌธ
์กฐ๊ฑด๋ถ ์ฐ์ฐ์
JSX ๋ด๋ถ์ ์๋ฐ์คํฌ๋ฆฝํธ ํํ์์์๋ if๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค.
//=== ์กฐ๊ฑด๋ถ ์ฐ์ฐ์ ์ฌ์ฉ
import React from 'react';
function App(){
const name = '๋ฆฌ์กํธ';
return (
<div>
{name==='๋ฆฌ์กํธ' ? (<h1>๋ฆฌ์กํธ์
๋๋ค<h1>):(<h1>๋ฆฌ์กํธ๊ฐ ์๋๋๋ค<h1>)}
</div>
);
}
export default App;
์์ ์ฝ๋๋ === ์กฐ๊ฑด๋ถ ์ฐ์ฐ์(์ผํญ์ฐ์ฐ์)๋ฅผ ์ฌ์ฉํ์๋ค.
(์กฐ๊ฑด) ? (์กฐ๊ฑด์ด True์ผ๋) : (์กฐ๊ฑด์ด False์ผ ๋)
์์ ๋ฐฉ์์ผ๋ก ์์ผ ์ฝ๋๋ '๋ฆฌ์กํธ์ ๋๋ค'๊ฐ ๊ฒฐ๊ณผ๋ก ๋ํ๋ ๊ฒ์ด๋ค.
//And ์ฐ์ฐ์(&&)์ ์ฌ์ฉ
function App(){
const name = '๋คผ์กํธ';
return <div>{name==='๋ฆฌ์กํธ' && <h1>๋ฆฌ์กํธ์
๋๋ค.</h1>}</div>;
}
export default App;
์ด ์ฝ๋๋ ์์ ์ผํญ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์์ง๋ง : ํ์๊ฐ ์๋ &&(and์ฐ์ฐ์)๋ฅผ ์ฌ์ฉํ๋ค.
&&(and์ฐ์ฐ์)๋ : ์ ๋น๊ตํด์, true์ผ ๋์ ๊ฒฐ๊ณผ๋ง ์ ๋ ฅ๋ฐ๊ณ , false๋ฅผ ๋ ๋๋ง ํ ๋๋ null๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋ฌด๊ฒ๋ ๋ํ๋ด์ง ์๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ์ด ์ฝ๋๋ ์กฐ๊ฑด์ด false๋ฅผ ๋ ๋๋งํ๊ธฐ ๋๋ฌธ์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ์ด ๋์ง ์๊ฒ ์ฃ ?
๐ฒ์ ๊น! ์ด ์ดํ์ ๋ถ๋ถ์ ์ ๊ฐ ๊ณต๋ถ๋ฅผ ํ๋ค ๊ฐ์ธ์ ์ธ ๊ถ๊ธ์ฆ์ผ๋ก ๊ณต๋ถํ ๋ถ๋ถ์ ๋๋ค!
์ ๊ฐ ๋ฆฌ์กํธ์ ๊ดํด ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ์์ํ๊ฒ ์๋ฌธ์ด ๋ค์๋ ์ ์ ์ธ๋ผ์ธ ์คํ์ผ๋ง ๋ถ๋ถ ์์ ๋ฅผ ํ๊ณ ์๋ ์ค์ ์ฝ๋์์ style ={{}} ์ด์ ๊ฐ์ด ์ค๊ดํธ๊ฐ ๋๋ฒ ๋ค์ด๊ฐ๋ ๊ฒ์ด์์ต๋๋ค. ์ ์ค๊ดํธ๊ฐ ํ๋ฒ์ด ์๋๋ผ ๋๋ฒ ๋ค์ด๊ฐ๋ ๊ฑธ๊น์?
์ผ๋จ ์ฝ๋๋ฅผ ํ ๋ฒ ๋ด๋ณผ๊น์?
function App(){
const name = '๋ฆฌ์กํธ';
return (
<div
style={{ //์ฌ๊ธฐ์ ์ ์ค๊ดํธ๊ฐ 2๊ฐ์ธ ๊ฑธ๊น?
backgroundColor : 'black',
color: 'aqua',
fontsize: '48px',
fontWeight: 'bold',
padding: 16 //๋จ์ ์๋ต์ px
}}
>
{name}
</div>
);
}
export default App;
๋ฆฌ์กํธ์์๋ ๋ณ์๋ ์ค๊ดํธ๋ก ๋ฌถ์ด์ค์ผํ๋ค๋ ์ฌ์ค์ ๋ค ์๊ณ ์์ฃ ?
๊ทธ๋ผ ๋๋จธ์ง ์ค๊ดํธ ํ๋๋ ์ ์ฐ๋ ๊ฑธ๊น์?
๋ฐ๋ก! object ํ์ ์ด๋ผ ์๋ ๊ฒ์ ๋๋ค.
์ ๋ ๋ฐ๋ก objectํ์ ์ด๋ผ๊ณ ํ๋๊น ์ ๋๋ก ์ดํด๊ฐ ์๋์๋๋ฐ์.
ํ์ด์ฐ๋ฉด ์ด๋ฐ ๋ป์ ๋๋ค! ์๋ ์ฝ๋๋ฅผ ๋ด์ฃผ์ธ์
const style1={
backgroundColor: black
}
render(){
return(
<div style={style1}>
hello react
</div>
);
}
์์ ์ฝ๋๋ฅผ ๋ดค์ ๋ style1์ ๋ณ์๋๊น ์ค๊ดํธ๋ก ํ ๋ฒ ๋ฌถ์ด์ฃผ์๊ณ , ์ style1์ด ๊ณง ์์์ backgroundColor๋ก ์ฐ์ฌ์๋ค๋ณด๋ ์ด๋ฅผ ์ฒ์ ์ฝ๋์ฒ๋ผ ํ์ด์ฐ๊ฒ ๋๋ฉด ์ค๊ดํธ๋ก ํ ๋ฒ ๋ ๋ฌถ์ด์ฃผ๋ ๊ฒ์ด๋ค.
โ๊ฒฐ๋ก โ
๋ฐ ์ค๊ดํธ : ๋ณ์ ๋ฌถ์ด์ฃผ๋๊ฒ
์ ์ค๊ดํธ : object ํ์