React · Middle · Запитання 75 з 75
Чому useEffect з async-колбеком може бути проблемою?
useEffect(async () => {
setData(await load());
}, []);- ✓Правильна відповідь: Функція ефекту має повертати функцію очищення або нічого; async-функція повертає проміс
- 2В ефектах ніде не можна використовувати
await - 3
loadвиконається двічі
Пояснення
Оголосіть async-функцію всередині ефекту й викличте її: useEffect(() => { let ignore = false; (async () => { ... })(); return () => { ignore = true }; }, []).