React · Middle · Pytanie 75 z 75
Dlaczego useEffect z callbackiem async może być problemem?
useEffect(async () => {
setData(await load());
}, []);- ✓Poprawna odpowiedź: Funkcja efektu musi zwracać funkcję sprzątającą lub nic; funkcja async zwraca promise
- 2W efektach nigdzie nie można używać
await - 3
loaduruchomi się dwa razy
Wyjaśnienie
Zdefiniuj funkcję async wewnątrz efektu i ją wywołaj: useEffect(() => { let ignore = false; (async () => { ... })(); return () => { ignore = true }; }, []).