Встречается на собеседованиях • сегодня

Как отправить запрос в UseEffect

Чтобы отправить запрос в useEffect, нужно:

  1. Создать асинхронную функцию внутри эффекта или вне его
  2. Вызвать её внутри эффекта
  3. Обработать ошибки и отмену запроса при размонтировании

Пример с 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` или отмену промисов.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы