Der Hook useEffect React führt bei jeder Änderung die übergebene Funktion aus. Dies kann so optimiert werden, dass es nur aufgerufen wird, wenn sich die gewünschten Eigenschaften ändern.
Was ist, wenn ich eine Initialisierungsfunktion von componentDidMount
aufrufen und bei Änderungen nicht erneut aufrufen möchte ? Angenommen, ich möchte eine Entität laden, aber die Ladefunktion benötigt keine Daten von der Komponente. Wie können wir das mit dem useEffect
Haken machen?
class MyComponent extends React.PureComponent {
componentDidMount() {
loadDataOnlyOnce();
}
render() { ... }
}
Mit Haken könnte dies so aussehen:
function MyComponent() {
useEffect(() => {
loadDataOnlyOnce(); // this will fire on every change :(
}, [...???]);
return (...);
}