Одна из вероятных причин – в зависимости
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 - всё решает момент создания значения.
