Le hook useEffect React exécutera la fonction passée à chaque modification. Cela peut être optimisé pour qu'il n'appelle que lorsque les propriétés souhaitées changent.
Que faire si je veux appeler une fonction d'initialisation à partir de componentDidMount
et ne pas la rappeler en cas de modifications? Disons que je veux charger une entité, mais la fonction de chargement n'a pas besoin de données du composant. Comment pouvons-nous faire cela en utilisant le useEffect
crochet?
class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}
Avec des crochets, cela pourrait ressembler à ceci:
function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}