三元渲染
本课属于 Coddy React 学习旅程的“基础知识”单元。第 33 课,共 42 课。
JSX 花括号中不能放 if 语句,但非常适合放三元运算符,它几乎能处理屏幕上的所有二选一情况:
{isLoggedIn ? 'Welcome back!' : 'Please log in'}先写条件,再写 真 时的值,最后写 假 时的值。两边都可以是完整的 JSX 元素:
{isLoggedIn
? <p>Welcome back!</p>
: <button>Log in</button>}将它与状态配合使用,页面就会实时切换:切换布尔值后,React 会重新渲染另一个分支。
挑战
简单创建一行登录状态文本。
- 添加布尔状态
loggedIn,初始值为false。 - 按钮(
id="login")在每次点击时切换它的值。 - 段落(
id="status")使用三元表达式,在已登录时显示Welcome back!,否则显示Please log in。
亲手试试
<!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>这节课包含一个小测验。开始学习即可作答,并记录你的进度。