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 }, []);