useEffect

React 🟢 Junior

Définition

Hook pour synchroniser un composant avec un système externe (API, DOM, timer). S'exécute après le rendu, avec un tableau de dépendances pour contrôler quand il se relance.

Analogie

Comme un abonnement a un journal : tu t'abonnes (setup), tu reçois les numéros (re-runs), et tu te desabonnes (cleanup) en partant.

Exemple de code

useEffect(() => {
  const ctrl = new AbortController();
  fetch('/api/data', { signal: ctrl.signal })
    .then(r => r.json())
    .then(setData);
  return () => ctrl.abort(); // cleanup
}, [userId]); // re-run si userId change

Cas d'usage

Appels API, abonnements WebSocket, synchronisation avec le DOM ou des librairies externes.

Anti-pattern

Omettre des dépendances pour 'éviter les re-runs', causant des stale closures avec des valeurs périmées.
#hooks#interview#fundamentals

← → au clavier pour passer d'une fiche à l'autre