Sobes.tech
Middle

Quelles méthodes du cycle de vie existent dans React et comment les émuler avec useEffect?

sobes.tech IA

Réponse de l'IA

Dans un composant de classe React, il existe plusieurs méthodes du cycle de vie, dont:

  • componentDidMount — appelé après le montage du composant;
  • componentDidUpdate — appelé après la mise à jour du composant;
  • componentWillUnmount — appelé avant le démontage du composant.

Dans les composants fonctionnels avec le hook useEffect, ces méthodes peuvent être émularisées comme suit:

import React, { useEffect } from 'react';

function MyComponent(props) {
  // componentDidMount
  useEffect(() => {
    // code qui s'exécute une fois après le montage
    console.log('Mounted');
  }, []); // tableau de dépendances vide

  // componentDidUpdate
  useEffect(() => {
    // code qui s'exécute lors du changement de props ou d'état
    console.log('Updated');
  }); // sans second argument — appelé après chaque rendu

  // componentWillUnmount
  useEffect(() => {
    return () => {
      // code de nettoyage avant le démontage
      console.log('Unmounted');
    };
  }, []);

  return <div>{props.value}</div>;
}

Ainsi, useEffect avec un tableau de dépendances vide émule componentDidMount et componentWillUnmount (via la fonction de nettoyage), et useEffect sans second argument — componentDidUpdate.