Sobes.tech
Middle

Donnez des exemples de ce que l'on peut faire avec le hook useEffect, en plus d'effectuer des requêtes au serveur.

sobes.tech IA

Réponse de l'IA

  • Gestion de l'état du titre de la page (document.title).

  • Abonnement et désabonnement aux événements du navigateur (par exemple, changement de taille de la fenêtre, clics en dehors de l'élément):

    useEffect(() => {
      const handleResize = () => {
        console.log('La taille de la fenêtre a changé');
      };
      window.addEventListener('resize', handleResize);
    
      return () => {
        window.removeEventListener('resize', handleResize);
      };
    }, []); // Tableau de dépendances vide : l'effet s'exécute une fois au montage et se nettoie au démontage.
    
  • Travailler avec le stockage local (lecture/écriture de données):

    useEffect(() => {
      const savedValue = localStorage.getItem('myInputValue');
      if (savedValue) {
        setInputValue(savedValue); // Suppose qu'il y a un état inputValue et une fonction setInputValue
      }
    }, []); // Charger la valeur lors du montage.
    
    useEffect(() => {
      localStorage.setItem('myInputValue', inputValue); // Enregistrer lors du changement de inputValue.
    }, [inputValue]); // Dépendance de inputValue.
    
  • Initialisation de bibliothèques ou composants tiers.

  • Configuration et nettoyage des temporisateurs (setTimeout, setInterval):

    useEffect(() => {
      const timerId = setInterval(() => {
        console.log('Le temporisateur fonctionne');
      }, 1000);
    
      return () => {
        clearInterval(timerId); // Nettoyage de l'intervalle lors du démontage.
      };
    }, []);
    
  • Suivi des changements de props ou d'état et exécution d'actions en réponse.

  • Mise au point sur un élément lors du montage du composant:

    useEffect(() => {
      inputRef.current.focus(); // Supposé qu'il y a une ref inputRef
    }, []);