๋ฆฌ์กํธ๋ฅผ ์ฐ๋ค ๋ณด๋ฉด, ์ํฉ์ ๋ฐ๋ผ ํ๋ฉด์ ๋ณด์ด๊ฒ ํ๊ฑฐ๋ ์จ๊ฒจ์ผ ํ ์์๊ฐ ์์ฃผ ๋ฑ์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ก๊ทธ์ธ์ ํ ์ฌ๋์๊ฒ๋ง โ๋ก๊ทธ์์โ ๋ฒํผ์ ๋ณด์ฌ์ค๋ค๊ฑฐ๋, ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ์ํ๋ ๊ฒฝ์ฐ์ฃ .
์ด๋ด ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ๋๋ค.
1. โ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ โ if๋ฌธ
JSX ๋ฐ์์ ์กฐ๊ฑด์ ๊ฒ์ฌํ ๋ค, ์ํ๋ UI๋ฅผ ๋ฆฌํดํ ์ ์์ด์.
function WelcomeMessage({ isLoggedIn }) {
if (isLoggedIn) {
return <p>ํ์ํฉ๋๋ค!</p>;
} else {
return <p>๋ก๊ทธ์ธ ํด์ฃผ์ธ์.</p>;
}
}
๋จ์ ์ ๊ฐ๋จํ ์กฐ๊ฑด์ด๋ผ๋ ์ฝ๋๊ฐ ๊ธธ์ด์ง๋ค๋ ์ ์ ๋๋ค.
2. ๐ก JSX ์์์๋ ์ผํญ ์ฐ์ฐ์ ์ฌ์ฉ
JSX ์์์๋ {์กฐ๊ฑด ? A : B}
ํํ๋ก ๊ฐ๊ฒฐํ๊ฒ ์ธ ์ ์์ด์.
function WelcomeMessage({ isLoggedIn }) {
return (
<p>{isLoggedIn ? 'ํ์ํฉ๋๋ค!' : '๋ก๊ทธ์ธ ํด์ฃผ์ธ์.'}</p>
);
}
๐ ์ผํญ ์ฐ์ฐ์๋ **์กฐ๊ฑด์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ๋๋ ๋** ์ฐ๋ฉด ์ข์ต๋๋ค.
3. ๐โโ๏ธ ํน์ ์กฐ๊ฑด์ผ ๋๋ง ํ์ โ && ์ฐ์ฐ์
์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง ์ด๋ค ์์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ , ๊ฑฐ์ง์ด๋ฉด ์๋ฌด๊ฒ๋ ์ ๋ณด์ด๊ฒ ํ๊ณ ์ถ์ ๋ &&
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
function Alert({ show }) {
return (
<div>
{show && <p style={{ color: 'red' }}>๊ฒฝ๊ณ : ์๋ชป๋ ์ ๊ทผ์
๋๋ค.</p>}
</div>
);
}
โ
show
๊ฐ false์ผ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฒ๋ ๋ ๋๋ง๋์ง ์์ต๋๋ค.
๐ ์ ๋ฆฌ
if
๋ฌธ์ JSX ๋ฐ๊นฅ์์ ์กฐ๊ฑด ๋ถ๊ธฐ๋ฅผ ํ ๋ ์ฌ์ฉ- ์ผํญ ์ฐ์ฐ์
?:
๋ ๊ฐ๋จํ ๋ ๊ฐ๋ ๋ถ๊ธฐ๋ฅผ JSX ์์์ ์ฒ๋ฆฌํ ๋ ์ ์ฉ &&
์ฐ์ฐ์๋ ํน์ ์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง ์์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉ
๐ก ์ถ๊ฐ ํ
- ์กฐ๊ฑด์ด ๋ณต์กํด์ง๋ฉด ์ปดํฌ๋ํธ๋ฅผ ๋๋๋ ๊ฒ์ด ๋ ๊น๋ํด์
null
์ ๋ฐํํ๋ฉด ์๋ฌด๊ฒ๋ ํ์๋์ง ์์ต๋๋ค (๋ ๋๋ง ์๋ต)
๐ผ๏ธ ์กฐ๊ฑด๋ถ ๋ ๋๋ง ํ๋ฆ๋
๋ค์ ๊ทธ๋ฆผ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ํ๋ฉด์ ๋ณด์ด๋ ์ปดํฌ๋ํธ๊ฐ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค:
