React · Middle · Frage 75 von 75
Warum kann useEffect mit einem async-Callback ein Problem sein?
useEffect(async () => {
setData(await load());
}, []);- 1
loadwürde bei jedem einzelnen Rendern zweimal laufen - 2Eine async-Funktion gibt ein Promise zurück, keine Cleanup-Funktion
- 3In Effekten darf man nirgends im Code
awaitverwenden
Antwort zeigen
Richtige Antwort: Eine async-Funktion gibt ein Promise zurück, keine Cleanup-Funktion
Erklärung
Definiere im Effekt eine async-Funktion und ruf sie auf: useEffect(() => { let ignore = false; (async () => { ... })(); return () => { ignore = true }; }, []).