Custom Hook
React 🟡 MidDefinition
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.