После ухода с экрана заказа статус доставки продолжает опрашиваться каждые 5 секунд
useEffect(() => {
setInterval(() => {
api.getStatus(orderId).then(setStatus);
}, 5000);
}, [orderId]);
В логах сервера видно: пользователь открыл пять заказов подряд, и теперь приложение опрашивает все пять. Что исправит проблему?
- Вернуть из эффекта функцию с clearInterval
- Убрать orderId из массива зависимостей
- Заменить setInterval на setTimeout
- Перенести setInterval в тело компонента
