169 похожих чатов

Const Support = () => { console.log("rerender"); const

[curentChat, setCurentChat] = useState([]);
const [isOpened, setIsOpened] = useState(false);
const [message, setMessage] = useState("");
const [ip, setIp] = useState("");
useEffect(() => {
async function getIP() {
const ip = await api.getIP();
setIp(ip.ip);
}
getIP();
}, []);
setInterval(async () => {
const chat = await api.getChat(ip);
if (chat.chat.length !== curentChat.length) {
setCurentChat(chat.chat);
}
}, 5000);

имеется вот такой код. почему у меня интервал ускоряется и через пару минут уже шлётся мильён запросов на сервер(const chat = await api.getChat(ip);)

понятно, что компонент ререндерится и всё новые и новые интервалы добавляются, но как мне ререндеринга этого избежать?
полный код - https://pastebin.com/SPZu8GLb

5 ответов

4 просмотра

В useEffect засунь интервал и return () => clearInterval()

Arseny Filatov
В useEffect засунь интервал и return () => clearIn...

его вроде в иделе в ref присваивать, если я не ошибаюсь

𝕁𝕊𝕆𝕌𝕎𝕃- Автор вопроса
Arseny Filatov
В useEffect засунь интервал и return () => clearIn...

уже разобрался, так и сделал кста:)

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
11
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Как попросить stack install делать executable без .exe на винде?
Danila Danko
9
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта