Chapitre 1 · Leçon 2
useState et useEffect pour la réactivité
Section 1
Step 1
useState retourne une paire : la valeur actuelle et une fonction de mise à jour. Quand on appelle la fonction de mise à jour, React re-rend le composant.
snippet.jsx
1import { useState } from "react";
2
3function Counter() {
4 const [count, setCount] = useState(0); // valeur initiale : 0
5
6 return (
7 <div>
8 <p>Compteur : {count}</p>
9 <button onClick={() => setCount(count + 1)}>+1</button>
10 <button onClick={() => setCount(count - 1)}>-1</button>
11 <button onClick={() => setCount(0)}>Reset</button>
12 </div>
13 );
14}
15
16// État avec objet
17function LoginForm() {
18 const [form, setForm] = useState({ email: "", password: "" });
19
20 const handleChange = (e) => {
21 setForm(prev => ({ ...prev, [e.target.name]: e.target.value }));
22 };
23}Step 2
Quand la nouvelle valeur dépend de l'ancienne, utilise la forme fonctionnelle de setState. Ça évite les bugs de closure stale.
Section 2
Step 3
useEffect est exécuté après le rendu. Le tableau de dépendances contrôle quand l'effet se re-exécute.