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 componentDidMountaufrufen 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 useEffectHaken 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 (...);
}