Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| web:framework:nextjs:client-component [2026/04/03 11:40] – créée jcheron | web:framework:nextjs:client-component [2026/04/03 11:52] (Version actuelle) – jcheron | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Composants client ====== | ====== Composants client ====== | ||
| + | Dès qu'on utilise : | ||
| + | |||
| + | * useState | ||
| + | * useEffect | ||
| + | * interaction utilisateur | ||
| + | |||
| + | Il faut un composant client et déclarer : | ||
| + | <sxh ts; | ||
| + | "use client" | ||
| + | </ | ||
| + | Exemple : | ||
| + | <sxh ts> | ||
| + | "use client" | ||
| + | |||
| + | import { useState } from " | ||
| + | |||
| + | export default function Counter() { | ||
| + | const [count, setCount] = useState(0) | ||
| + | |||
| + | return ( | ||
| + | <div> | ||
| + | < | ||
| + | <button onClick={() => setCount(count + 1)}> | ||
| + | </ | ||
| + | ) | ||
| + | } | ||
| + | </ | ||
| + | ===== Hooks de base ===== | ||
| + | ==== useState ==== | ||
| + | |||
| + | <sxh ts; | ||
| + | const [value, setValue] = useState("" | ||
| + | </ | ||
| + | ==== useEffect ==== | ||
| + | <sxh ts> | ||
| + | useEffect(() => { | ||
| + | console.log(" | ||
| + | }, []) | ||
| + | </ | ||
| + | |||
| + | ==== useRouter (navigation) ==== | ||
| + | <sxh ts> | ||
| + | "use client" | ||
| + | |||
| + | import { useRouter } from " | ||
| + | |||
| + | const router = useRouter() | ||
| + | |||
| + | router.push("/ | ||
| + | </ | ||
| + | ==== useParams (récupérer ID côté client) ==== | ||
| + | <sxh ts> | ||
| + | import { useParams } from " | ||
| + | |||
| + | const params = useParams() | ||
| + | console.log(params.id) | ||
| + | </ | ||