Il hook useEffect React eseguirà la funzione passata su ogni modifica. Questo può essere ottimizzato per lasciarlo chiamare solo quando cambiano le proprietà desiderate.
Cosa succede se desidero chiamare una funzione di inizializzazione componentDidMount
e non richiamarla di nuovo sulle modifiche? Diciamo che voglio caricare un'entità, ma la funzione di caricamento non ha bisogno di alcun dato dal componente. Come possiamo farlo usando il useEffect
gancio?
class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}
Con i ganci questo potrebbe apparire così:
function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}