JSX 내부의 자바스크립트 표현식에서 if 문을 사용할 수는 없다.
그러므로 조건에 따라 다른 내용을 렌더링해야 할때는 JSX 밖에서 if 문을 사용하여 사전에 값을 설정하거나, { } 안에서 조건부 연산자인 삼항연산자를 사용한다. 이번 글에서는 삼항연산자를 사용하는 방법을 알아보자!
삼항 연산자는 조건이 참이면 첫 번째 값이 반환되고, 그렇지 않으면 두 번째 값이 반환된다.
이를 사용해 특정 조건이 충족될 때 UI를 렌더링하거나 렌더링하지 않도록 할 수 있다.
{isLogin ? (
<p>로그인 되었습니다</p>
) : null}
여기서 isLogin
은 조건으로, 참이면 <p>로그인 되었습니다</p>
가 렌더링되고, 거짓이면 null
이 반환된다.
const isLogin = true;
const userName = 'Mini';
cost message = isLogin ? `안녕하세요, ${userName}님` : `로그인이 필요합니다!`;
return (
<div>
<p>
{message}
</p>
</div>
)
변수를 포함한 문자열을 출력하는 것도 가능하다.
이때 isLogin
이 참이므로, message
변수는 userName
이 조합된 문자열이 된다.
굉장히 깔끔하고 보고 싶어지는 글이네요! 이제 사용자가 로그인 했을 때와 로그인을 하지 않은 상태일 때를 구별해 사용자에게 보여지는 것을 다르게 할 수 있을 거 같아요. 감사합니다!