Middle
Fornisci esempi di cosa si può fare con l'hook useEffect, oltre a effettuare richieste al server.
sobes.tech AI
Risposta dell'AI
-
Gestione dello stato dell'intestazione della pagina (
document.title). -
Iscrizione e cancellazione dall'ascolto di eventi del browser (ad esempio, cambio di dimensione della finestra, clic esterni all'elemento):
useEffect(() => { const handleResize = () => { console.log('La dimensione della finestra è cambiata'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []); // Array di dipendenze vuoto: l'effetto si esegue una volta al montaggio e si pulisce al smontaggio. -
Lavorare con lo storage locale (lettura/scrittura dati):
useEffect(() => { const savedValue = localStorage.getItem('myInputValue'); if (savedValue) { setInputValue(savedValue); // Si assume che ci sia uno stato inputValue e una funzione setInputValue } }, []); // Caricare il valore al montaggio. useEffect(() => { localStorage.setItem('myInputValue', inputValue); // Salvare al cambiamento di inputValue. }, [inputValue]); // Dipendenza da inputValue. -
Inizializzazione di librerie o componenti di terze parti.
-
Configurazione e pulizia di timer (
setTimeout,setInterval):useEffect(() => { const timerId = setInterval(() => { console.log('Il timer è in funzione'); }, 1000); return () => { clearInterval(timerId); // Pulizia dell'intervallo al smontaggio. }; }, []); -
Monitoraggio delle modifiche di props o stato e esecuzione di azioni in risposta.
-
Messa a fuoco su un elemento al montaggio del componente:
useEffect(() => { inputRef.current.focus(); // Si assume che ci sia un ref inputRef }, []);