使用状态切换
本课属于 Coddy React 学习旅程的“基础知识”单元。第 25 课,共 42 课。
状态不只有数字。布尔型状态是显示和隐藏内容的标准开关:
const [isOpen, setIsOpen] = useState(false);
<button onClick={() => setIsOpen(!isOpen)}>Menu</button>
{isOpen ? <p>I am visible!</p> : null}两个技巧配合使用:
setIsOpen(!isOpen):!会反转布尔值,所以同一个按钮既能打开,也能关闭{condition ? jsx : null}:渲染null就是什么都不渲染;元素不是被隐藏了,而是不存在
挑战
中等制作一个剧透显示功能。
- 添加布尔状态
revealed,初始值为false。 - 按钮(
id="toggle")每次点击时都会切换它的值。 - 显示时,展示一个带有
id="secret"且文本为The cake is real的<p>;否则渲染null。
亲手试试
<!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>这节课包含一个小测验。开始学习即可作答,并记录你的进度。