text-decoration: line-through
효과를 낼 수 있는 태그 = <del>
function Item({ name, isPacked }) {
return (
<li className="item">
{isPacked ? (
<del>
{name + ' ✔'}
</del>
) : (
name
)}
</li>
);
}
🙋♀️ 주의
&&의 왼쪽에 숫자 넣지 말기 (특히 '0')
&&은 좌항이 null인지 여부만 판단
=> 왼쪽이 0이면 0을 그대로 가져와서 렌더링
(갑자기 어디서 나왔는지 모르겠는 0이라면 이 부분 의심)
// 🚫 messageCount가 0이면 좌항의 0을 그대로 렌더링
messageCount && <p>New messages</p>
// ✅ messageCount 길이를 판단하는 boolean
messageCount > 0 && <p>New messages</p>
// ✅ 숫자인 messageCount를 !! 연산자로 boolean으로 변환
!!messageCount && <p>New messages</p>
(리액트를 하다보면 많이 보게 되는 에러)
🙋♀️ 주의
map 자체에서 얻은 인덱스(id)는 사용하지 않는다. (아래에 이유 소개)
Math.random()
등으로 렌더링 도중에 생성하지 말기key={Math.random()}
)<Profile key={id} userId={id} />
)