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이 조합된 문자열이 된다.
굉장히 깔끔하고 보고 싶어지는 글이네요! 이제 사용자가 로그인 했을 때와 로그인을 하지 않은 상태일 때를 구별해 사용자에게 보여지는 것을 다르게 할 수 있을 거 같아요. 감사합니다!