L'equivalente di componentDidMount negli hook è la funzione useEffect. Le funzioni passate a useEffect vengono eseguite su ogni componente che esegue il rendering, a meno che tu non gli passi un secondo argomento.
A cosa serve useEffect?
Cosa fa useEffect? Usando questo Hook, dici a React che il tuo componente deve fare qualcosa dopo il rendering. React ricorderà la funzione che hai passato (la chiameremo "effetto") e la chiamerà in seguito dopo aver eseguito gli aggiornamenti DOM.
ComponentDidMount è un hook React?
useEffect è un hook React in cui puoi applicare effetti collaterali, ad esempio, ottenere dati dal server. Il primo argomento è un callback che verrà attivato dopo il layout e il disegno del browser.
Perché useEffect non viene chiamato?
Il motivo per cui ciò accade è perché la chiamata API è asincrona, non popola lo stato immediatamente, quindi il rendering avviene prima e prova a leggere. corrente dallo stato meteorologico iniziale null. Soluzione: nel tuo metodo di rendering, assicurati di non leggere il meteo.
useEffect funziona sempre su Mount?
Importante: l'hook useEffect verrà sempre eseguito su mount indipendentemente da se c'è qualcosa nel suo array di dipendenza. Probabilmente non vogliamo effettivamente eseguire questo effetto sui nostri dati quando non sono definiti (come lo sarà durante il rendering iniziale), ma vogliamo piuttosto aspettare che vengano popolati dalla chiamata API.