Toggle with State
Part of the Fundamentals section of Coddy's React journey — lesson 25 of 42.
State isn't only numbers. A boolean state is the standard switch for showing and hiding things:
const [isOpen, setIsOpen] = useState(false);
<button onClick={() => setIsOpen(!isOpen)}>Menu</button>
{isOpen ? <p>I am visible!</p> : null}Two tricks working together:
setIsOpen(!isOpen): the!flips the boolean, so one button both opens and closes{condition ? jsx : null}: renderingnullrenders nothing; the element isn't hidden, it doesn't exist
Challenge
MediumBuild a spoiler reveal.
- Add boolean state
revealed, startingfalse. - The button (
id="toggle") flips it on every click. - When revealed, show a
<p>withid="secret"and the textThe cake is real; otherwise rendernull.
Try it yourself
<!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>This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
2JSX Expressions
Curly BracesMath in BracesBraces in AttributesCalling Functions in JSXRecap: JSX Expressions5State & Events
What Is State?Click CounterCount in StepsToggle with StateIndependent StateRecap: State & Events8Project: Profile Card
Step 1: Card StructureStep 2: Card with PropsStep 3: Like ButtonStep 4: Follow Toggle