Встречается на собеседованиях • сегодня
Как отправить запрос в UseEffect
Чтобы отправить запрос в useEffect, нужно:
- Создать асинхронную функцию внутри эффекта или вне его
- Вызвать её внутри эффекта
- Обработать ошибки и отмену запроса при размонтировании
Пример с fetch:
jsx
useEffect(() => {
let isMounted = true; // флаг для проверки монтирования
const fetchData = async () => {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
if (isMounted) {
setData(data); // обновляем состояние только если компонент смонтирован
}
} catch (error) {
if (isMounted) {
setError(error.message);
}
}
};
fetchData();
return () => {
isMounted = false; // очистка при размонтировании
};
}, []); // пустой массив зависимостей = запрос только при монтировании
text
Для отмены запросов можно использовать `AbortController` или отмену промисов.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы