TGViewer
Merion Academy Merion Academy @it_knowledge_base · 9.01K subscribers
Post #1266 1.44K
Разгадка пятничного кейса 🐸

Одна из вероятных причин – в зависимости useEffect попал объект или функция, которые создаются заново на каждом рендере. Эффект делает запрос → ответ меняет state → новый рендер создаёт новую зависимость → эффект снова делает запрос.

Проверка: сравнить значения зависимостей между рендерами и временно заменить составную зависимость на стабильный примитив, например status или page. Если цикл исчез, источник найден. В реальном проекте возможны и другие причины; одних 150 запросов для точного диагноза мало.

А теперь короткая ловушка Python:
def add(x, items=[]):
items.append(x)
return items

Что вернут подряд add(1) и add(2)? Список по умолчанию создаётся один раз при определении функции: ответы будут [1] и [1, 2].

Безопасный шаблон:
def add(x, items=None):
if items is None: items = []
items.append(x)
return items

И в React, и в Python - всё решает момент создания значения.
  • ❤‍🔥 7
  • 🤝 1
More from @it_knowledge_base
  1. Oct 9, 2026Пятничная загадка: SQL-отчёт умножил выручку В таблице orders у заказа №42 сумма 1000 ₽. У…
  2. Oct 8, 2026photo post
  3. Oct 7, 2026Найти пользователей с шестью и более заказами — куда поставить условие? 🐸 SELECT user_id,…
  4. Oct 6, 2026Если запрос из Node.js зависает слишком долго, то ставим дедлайн Если проект использует вс…
  5. Oct 3, 2026React отправляет запрос дважды? Сначала проверь причину 🐸 В разработке StrictMode может д…
  6. Oct 2, 2026Пятничная загадка: кто размножил запросы? После небольшой правки React-страница стала откр…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →