์กฐ๊ฑด๋ถ ๋ ๋๋ง
๋ฆฌ์กํธ์์๋ ๋จ์ ๊ฐ๋ง์ด ์๋ HTML ๊ตฌ์กฐ๋ ๋์์ธ๋ ๋น์ฐํ ๋ฐ๊ฟ์ ๋ฆฌ๋ ๋๋ง ํ ์๋ ์๋ค.
์กฐ๊ฑด๋ถ ๋ ๋๋ง์ผ๋ก ํ ์ ์๋๋ฐ, ์ด๋ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ปดํฌ๋ํธ๋ ์์๋ฅผ ๋ ๋๋งํ๋ ๊ฒ์ผ๋ก, ์กฐ๊ฑด๋ฌธ์ด๋ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ํ์ฉํ ์ ์๋ค.
๋ค์์ ํน์ ๊ฐ์ ๋ฒํผ์ ๋๋ฅด๋ฉด ๊ทธ ๊ฐ์ ์ ํ์ ์ ํ๋ฉด์ ๋ ๋๋ง์ํค๋ ์ฝ๋๋ค.
setMood()๋ก ๊ฐ์ ์ ์ํ๋ฅผ ๋ณ๊ฒฝํด์ฃผ๊ณ ์๋๋ฐ, ์ด ๋ ์ธ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋ฆฌ๋ ๋๋งํด์ค ์ ์๋ค.
App.jsx
function App() {
const [mood, setMood] = useState('Normal');
return (
<>
<Face mood={mood} />
<Face2 mood={mood} />
<Face3 mood={mood} />
<div
className={
mood === 'Happy' ? 'happy' : mood === 'Normal' ? 'normal' : 'sad'
}>
๊ธฐ๋ถ : {mood}
</div>
<div>
<button onClick={() => setMood('Happy')} value="happy">
happy
</button>
<button onClick={() => setMood('Normal')} value="normal">
normal
</button>
<button onClick={() => setMood('Sad')} value="sad">
sad
</button>
</div>
</>
);
}
๋ฐฉ๋ฒ 1. if๋ฌธ ์ฌ์ฉํ๊ธฐ
// 1. if๋ฌธ์ผ๋ก ๋ฆฌํดํ๋ jsx๋ฌธ ๋ฐ๊ฟ์ฃผ๊ธฐ
function Face({ mood }) {
if (mood === 'Happy') {
return <div>๐</div>;
} else if (mood === 'Normal') {
return <div>๐ถ</div>;
} else if (mood === 'Sad') {
return <div>๐ญ</div>;
}
}
๋ฐฉ๋ฒ 2. ์ผํญ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ
๊ฐ์ฅ ๋ง์ด ์ฐ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ค๋ง ๊ฐ๋ ์ฑ์ ์ํด ๋ถ๊ธฐ๊ฐ 3๊ฐ์ง ์ด์์ด๋ผ ์ค์ฒฉํด์ ์ฌ์ฉํด์ผ ํ ๊ฒฝ์ฐ ๊ถ์ฅํ์ง๋ ์๊ณ ์๋ค.
// 2. ์ผํญ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ
function Face2({ mood }) {
return (
<>
{mood === 'Happy' ? (
<div>๐</div>
) : mood === 'Normal' ? (
<div>๐ถ</div>
) : (
<div>๐ญ</div>
)}
</>
);
}
์ผํญ์ฐ์ฐ์๋ก className์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ณ๊ฒฝํด์ค ์๋ ์๋ค. (if๋ฌธ์ jsx๋ด์์๋ ์ง์ ์ฌ์ฉํ ์ ์๋ค.)
<div
className={
mood === 'Happy' ? 'happy' :
mood === 'Normal' ? 'normal' : 'sad'
}>
๊ธฐ๋ถ : {mood}
</div>
๋ฐฉ๋ฒ 3. ๋ ผ๋ฆฌ์ฐ์ฐ์ && ์ฌ์ฉํ๊ธฐ
// 3. ๋
ผ๋ฆฌ ์ฐ์ฐ์
function Face3({ mood }) {
return (
<>
{mood === 'Happy' && <div>๐</div>}
{mood === 'Normal' && <div>๐ถ</div>}
{mood === 'Sad' && <div>๐ญ</div>}
</>
);
}
'react' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React / Router ์ค์ต - ๋๋ฌผ ์ ๋ณด ์ฌ์ดํธ ๋ง๋ค๊ธฐ (0) | 2025.04.09 |
---|---|
React / Router (0) | 2025.04.09 |
React / state, props๋ฅผ ์ด์ฉํด CRUD ๊ธฐ๋ฅ์ ๊ฐ์ง Todo-List ๋ง๋ค๊ธฐ (0) | 2025.04.07 |
React / props, state ๋์ด์ฌ๋ฆฌ๊ธฐ (0) | 2025.04.06 |
React / SPA vs MPA (0) | 2025.04.04 |