用 && 显示
本课属于 Coddy React 学习旅程的“基础知识”单元。第 34 课,共 42 课。
通常不需要 else:你只想在条件成立时显示内容。&& 技巧可以实现“显示内容或什么也不显示”:
{unread > 0 && <span>You have {unread} new messages</span>}它的工作原理是:左侧为真时,&& 会返回右侧,React 会渲染它。左侧为假时,不会渲染任何内容。左侧是布尔值时,它相当于省略了 : null 的三元表达式:
{cond ? <X /> : null} // 等同于
{cond && <X />}这就是示例检查 unread > 0 的原因。如果使用 {unread && <span>...</span>},且 unread 等于 0,&& 会返回 0,React 就会在页面上渲染它。
挑战
简单只有在有未读消息时才显示收件箱徽标。组件定义了 unread。
- 使用
&&,仅当unread大于 0 时,才渲染一个带有id="badge"的<span>,并显示文本3 new messages(数字要根据变量生成!)。
亲手试试
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<div id="root"></div>
<script type="module" src="main.jsx"></script>
</body>
</html>这节课包含一个小测验。开始学习即可作答,并记录你的进度。