ステートによる切り替え
CoddyのReactジャーニー「基本概念」セクションの一部 — レッスン 25/42。
ステートは数値だけではありません。boolean のステートは、表示と非表示を切り替える標準的なスイッチになります:
const [isOpen, setIsOpen] = useState(false);
<button onClick={() => setIsOpen(!isOpen)}>Menu</button>
{isOpen ? <p>I am visible!</p> : null}2つのテクニックの組み合わせ:
setIsOpen(!isOpen):!が真偽値を反転させるため、1つのボタンで開閉の両方を行えます{condition ? jsx : null}:nullをレンダリングすると何も描画されません。要素は非表示になっているのではなく、存在しない状態になります
チャレンジ
中級スポイラー表示機能を構築します。
- 初期値が
falseである真偽値の staterevealedを追加します。 - ボタン (
id="toggle") はクリックされるたびにその値を反転させます。 - 表示されている(revealed)状態のときは、
id="secret"とテキストThe cake is realを持つ<p>を表示し、そうでない場合はnullをレンダリング(render)します。
自分で試してみよう
<!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>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。