1๏ธโฃ ์ปดํฌ๋ํธ ์์์ ์ฐ๋ if/else
function Component() {
if ( true ) {
return <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p>;
} else {
return null;
}
}
// ๋๋, ์๋์ ๊ฐ์ด ์ฐ๋ฉด else ์๋ต ๊ฐ๋ฅ
function Component() {
if ( true ) {
return <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p>;
}
return null;
}
- return + JSX ์ ์ฒด๋ฅผ ๋ฑ๋ if๋ฌธ
2๏ธโฃ JSX ์์์ ์ฐ๋ ์ผํญ์ฐ์ฐ์
function Component() {
return (
<div>
{
1 === 1
? <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p>
: null
}
</div>
)
}
// ์๋์ ๊ฐ์ด ์ค์ฒฉ ์ฌ์ฉ๋ ๊ฐ๋ฅ, ํ์ง๋ง ๊ฐ๋
์ฑ์ด ์ข์ง ์๋ค.
function Component() {
return (
<div>
{
1 === 1
? <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p>
: ( 2 === 2
? <p>์๋
</p>
: <p>๋ฐ๊ฐ</p>
)
}
</div>
)
}
- if์๋ ๋ค๋ฅด๊ฒ JSX ์์์๋ ์คํ๊ฐ๋ฅํ๋ฉฐ ์กฐ๊ฑด์ ๊ฐ๋จํ ์ฃผ๊ณ ์ถ์ ๋ ์ฌ์ฉ
3๏ธโฃ && ์ฐ์ฐ์๋ก if ์ญํ ๋์ ํ๊ธฐ
! ์๋ฐ ์คํฌ๋ฆฝํธ์ && ์ฐ์ฐ์๋ ์ผ์ชฝ ์ค๋ฅธ์ชฝ ๋๋ค true์ด๋ฉด ์ ์ฒด๋ฅผ true๋ก ๋ฐ๊ฟ์ฃผ๋ ์ฐ์ฐ์์ด๋ค.
true && false; // ๊ฒฐ๊ณผ: false
true && true; // ๊ฒฐ๊ณผ: true
- ๊ทผ๋ฐ ์๋ฐ์คํฌ๋ฆฝใ
ํธ๋ && ๊ธฐํธ๋ก ๋น๊ตํ ๋ true์ false๋ฅผ ๋ฃ๋๊ฒ ์๋๋ผ ์๋ฃํ์ ๋ฃ์ผ๋ฉด
true && '์๋
'; // ๊ฒฐ๊ณผ: '์๋
'
false && '์๋
'; // ๊ฒฐ๊ณผ: false
true && false && '์๋
'; // ๊ฒฐ๊ณผ: false
- ์๋๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ &&๋ก ์ฐ๊ฒฐ๋ ๊ฐ๋ค ์ค์ ์ฒ์ ๋ฑ์ฅํ๋ falsy ๊ฐ์ ์ฐพ์์ฃผ๊ณ ๊ทธ๊ฒ ์๋๋ฉด ๋ง์ง๋ง๊ฐ์ ๋จ๊ฒจ์ฃผ๊ธฐ ๋๋ฌธ
function Component() {
return (
<div>
{
1 === 1
? <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p>
: null
}
</div>
)
}
// ์์ ๊ฐ์ ์ญํ
function Component() {
return (
<div>
{ 1 === 1 && <p>์ฐธ์ด๋ฉด ๋ณด์ฌ์ค HTML</p> } <!-- ์ผ์ชฝ ์กฐ๊ฑด์์ด true๋ฉด ์ค๋ฅธ์ชฝ JSX๊ฐ ๊ทธ ์๋ฆฌ์ ๋จ๊ณ ์ผ์ชฝ ์กฐ๊ฑด์์ด false์ด๋ฉด false๊ฐ ๋จ๋๋ค. false๊ฐ ๋จ์ผ๋ฉด HTML๋ก ๋ ๋๋งํ์ง ์๋๋ค -->
</div>
)
}
4๏ธโฃ switch / case ์กฐ๊ฑด๋ฌธ
function Component2(){
var user = 'seller';
if (user === 'seller'){
return <h4>ํ๋งค์ ๋ก๊ทธ์ธ</h4>
} else if (user === 'customer'){
return <h4>๊ตฌ๋งค์ ๋ก๊ทธ์ธ</h4>
} else {
return <h4>๊ทธ๋ฅ ๋ก๊ทธ์ธ</h4>
}
}
// ์์ ๊ฐ์ด if๋ฌธ์ด ์ค์ฒฉํด์ ์ฌ๋ฌ๊ฐ ๋ฌ๋ ค์๋ ๊ฒฝ์ฐ switch ๋ฌธ๋ฒ ์ฌ์ฉ
function Component2(){
var user = 'seller';
switch (user){ // switch(๊ฒ์ฌํ ๋ณ์){}
case 'seller' : // case ๊ฒ์ฌํ ๋ณ์๊ฐ์ด๊ฑฐ๋์ผ์นํ๋: ๋ฅผ ๋ฃ์ด์ค
return <h4>ํ๋งค์ ๋ก๊ทธ์ธ</h4> // ์ผ์นํ๋ฉด ์คํ
case 'customer' :
return <h4>๊ตฌ๋งค์ ๋ก๊ทธ์ธ</h4>
default : // else๋ฌธ๊ณผ ๋์ผ
return <h4>๊ทธ๋ฅ ๋ก๊ทธ์ธ</h4>
}
}
- ์ฅ์ : if๋ฌธ ์ฐ๋ฌ์์ธ ๋ ์ฝ๋๊ฐ ์ฝ๊ฐ ์ค์ด๋ค ์ ์๋ค.
- ๋จ์ : ์กฐ๊ฑด์๋์ ๋ณ์ ํ๋๋ง ๊ฒ์ฌํ ์ ์๋ค
5๏ธโฃ object/array ์๋ฃํ ์์ฉ
function Component() {
var ํ์ฌ์ํ = 'info';
return (
<div>
{
{
info : <p>์ํ์ ๋ณด</p>,
shipping : <p>๋ฐฐ์ก๊ด๋ จ</p>,
refund : <p>ํ๋ถ์ฝ๊ด</p>
}[ํ์ฌ์ํ]
}
</div>
)
}
// ์๋ ์ข ๋ ๊น๋ํ๊ฒ ๋ณ์์ ๋ฐ๋ก ์ ์ฅํด์ ์ฐ๊ธฐ
var ํญUI = {
info : <p>์ํ์ ๋ณด</p>,
shipping : <p>๋ฐฐ์ก๊ด๋ จ</p>,
refund : <p>ํ๋ถ์ฝ๊ด</p>
}
function Component() {
var ํ์ฌ์ํ = 'info';
return (
<div>
{
ํญUI[ํ์ฌ์ํ]
}
</div>
)
}
- ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ ๋ค๋ฅธ html ํ๊ทธ๋ค์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ฌ์ฉ
- if๋ฌธ์ด ์๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ object ์๋ฃํ์ ๋ด๊ฐ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ HTML์ ๋ค ๋ด๋๋ค.
- ๋ง์ง๋ง์ object{} ๋ค์ [] ๋๊ดํธ๋ฅผ ๋ถ์ฌ์ "key๊ฐ์ด ํ์ฌ์ํ์ธ ์๋ฃ๋ฅผ ๋ฝ๊ฒ ์ต๋๋ค" ๋ผ๊ณ ์จ๋๋๋ค
- ๊ทธ๋ผ ์ด์ ํ์ฌ์ํ๋ผ๋ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ์ ์ํ๋ HTML์ ๋ณด์ฌ์ค ์ ์๋ค.
- ๋ง์ฝ์ var ํ์ฌ์ํ๊ฐ 'info'๋ฉด info ํญ๋ชฉ์ ์ ์ฅ๋ <p>ํ๊ทธ๊ฐ ๋ณด์ฌ์ง ๊ฒ์ด๊ณ
- ๋ง์ฝ์ var ํ์ฌ์ํ๊ฐ 'refund'๋ฉด refund ํญ๋ชฉ์ ์ ์ฅ๋ <p>ํ๊ทธ๊ฐ ๋ณด์ฌ์ง๋ค.
๋ณธ ํฌ์คํ ์ << React ๋ฆฌ์กํธ ๊ธฐ์ด๋ถํฐ ์ผํ๋ชฐ ํ๋ก์ ํธ๊น์ง! >> ๊ฐ์๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.