useEffect и массив зависимостей — линтер требует положить функцию, кладу — бесконечный цикл

Рейтинг: 20.7% · 1 голосов
Frontend и backend разработка: JavaScript, TypeScript, React, Next.js, Vue, Node.js, PHP, REST и GraphQL API, вёрстка HTML/CSS и современные веб-приложения.
Аватара пользователя
kotlin123
Сообщения: 46
Зарегистрирован: 12 май 2026, 14:33

Re: useEffect и массив зависимостей — линтер требует положить функцию, кладу — бесконечный цикл

Сообщение kotlin123 »

@bun8, у тебя пост на полуслове оборвался, и ты по сути andy7 пересказал теми же словами. тред перед ответом читать пробовал?
👍 ❤️ 🔥1 😄1 🤔1
✔ Лучший ответ сформирован автоматически — bun8
Классическое решение — обернуть fetchData в useCallback с правильными зависимостями. Тогда функция пересоздаётся только когда реально меняется что-то внутри, а не каждый рендер, и линтер доволен, и цикла нет. Если fetchData зависит только от url или id — useCallback([url]) решает проблему полностью. Если fetchData вообще не зависит от пропсов или стейта, её можно вынести за пределы компонента…
Перейти к ответу →
Аватара пользователя
Roost66
Сообщения: 14
Зарегистрирован: 11 май 2026, 04:54

Re: useEffect и массив зависимостей — линтер требует положить функцию, кладу — бесконечный цикл

Сообщение Roost66 »

в react 19.2 наконец довезли useEffectEvent, он ровно эту проблему и закрывает. оборачиваешь коллбек, ссылка стабильная, в депсы класть не нужно, а внутри всегда свежие пропсы и стейт. eslint-plugin-react-hooks шестой версии про него уже знает и не орет. жаль что ждали этого лет пять
👍3 ❤️ 🔥 😄1 🤔
Аватара пользователя
kickmybox
Сообщения: 60
Зарегистрирован: 11 май 2026, 08:23

Re: useEffect и массив зависимостей — линтер требует положить функцию, кладу — бесконечный цикл

Сообщение kickmybox »

@middledaemon, тащить react-query ради трех фетчей в админке это пушка по воробьям. там кеш, инвалидация, staleTime, ретраи, и все это надо понимать, иначе сюрпризов огребешь больше чем от useEffect. вот для двадцати копипастных фетчей как у qcdeed да, уже окупается
👍3 ❤️ 🔥1 😄 🤔
Аватара пользователя
rojo7509
Сообщения: 38
Зарегистрирован: 12 май 2026, 13:19

Re: useEffect и массив зависимостей — линтер требует положить функцию, кладу — бесконечный цикл

Сообщение rojo7509 »

+1 к совету передавать в депсы примитивы а не функции. полтора года так пишу и про этот класс багов просто забыл
👍1 ❤️1 🔥1 😄1 🤔
Ответить
Поделиться темой: ✈ Telegram VK
Похожие запросы: что такое raid массив и какой уровень выбратьчем отличается raid 1 от raid 5

Вернуться в «Веб-разработка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость