Custom Hook

React 🟡 Mid

Definition

Fonction JavaScript prefixee par 'use' qui encapsule de la logique reutilisable composee d'autres hooks. Chaque appel cree sa propre instance de state.

Analogie

Comme une recette de cuisine : tu la reutilises dans differents repas, mais chaque plat a ses propres ingredients (state).

Exemple de code

function useDebounce(value, delay = 300) {
  const [debounced, setDebounced] = useState(value);
  useEffect(() => {
    const id = setTimeout(() => setDebounced(value), delay);
    return () => clearTimeout(id);
  }, [value, delay]);
  return debounced;
}

Cas d'usage

Extraire et reutiliser de la logique stateful entre composants (fetch, debounce, form, auth).

Anti-pattern

Creer un custom hook pour encapsuler du code qui ne contient aucun hook : une simple fonction suffit.

Termes lies

#hooks#interview#patterns