useEffect
est un hook React qui permet d'effectuer des actions de façon asynchrone en fonction du cycle de vie d’un composant, c’est-à-dire quand il est monté (mount), mis à jour (update) et démonté (unmount).
3 cas courants : récupérer des données, mettre à jour le DOM et gérer les fonctions de minuterie.
useEffect(function, dependencies?)
useEffect
accepte deux arguments :
// Pas de dépendance
useEffect(() => {
console.log("Je m'exécute à chaque fois que le composant est rendu");
});
// onMount
// Un tableau vide []
useEffect(() => {
console.log("Je m'exécute une seule fois (Quand le composant est monté)");
}, []);
// onUpdate
// Un tableau avec un state
useEffect(() => {
console.log("Je m'exécute quand la condition change");
}, [condition]);
Changer le titre de la page HTML à chaque fois que l’état count
change :
// useEffect avec une dépendance
const [count, setCount] = useState(0);
useEffect(() => {
document.title = `You clicked ${count} times`;
}, [count]);
Ajouter un listener lorsque le composant s’affiche :
// useEffect avec un clean up
useEffect(() => {
const handleClick = () => {
// Handle the click event
};
window.addEventListener("click", handleClick);
// onUnmount
return () => {
// Clean up the event listener
window.removeEventListener("click", handleClick);
};
}, []);