Как удобно общаться на «ты» или на «вы»

Ответ

Ответ не найден

Ответ 18+ 🔞

Ну, слушай, история про этот ваш useEffect — это вообще отдельная песня, братан. Как будто ты в баре подсел к бариста, а он тебе вместо кофе начинает про квантовую физику толкать. Вроде и умно, а нахуй не надо.

Вот смотри, объявляешь ты этот хук, а он тебе как тот самый Герасим из «Муму» — здоровый, могучий, а сказать нихуя не может, только «му-му». То есть, ты ему говоришь: «Слушай, друг, вот тебе массив зависимостей [count, name]. Как только они поменяются — делай дело». А он тебе в ответ: «Му-му». И всё. А что там внутри творится — одному React'у известно. Он может и сделать то, что просили, а может и зациклиться, как та самая собачка, которую на хуй послали топиться.

И главная засада — эти самые зависимости. Вот пишешь ты [] — пустой массив. Думаешь: «О, гений! Запустится один раз и забудет, как страшный сон». А он, сука, возьмёт и заморозит все значения внутри колбэка на момент первого рендера. И потом ты сидишь и чешешь репу: «Бля, а почему у меня тут count всегда равен нулю, я ж его десять раз уже увеличил?». Да потому что ты, мудила, в зависимостях его не указал! Он же как немой — видит, что массив не поменялся, и молчит в тряпочку. Ни хуя не делает.

А бывает наоборот — напихаешь туда всё, что шевелится. [count, setCount, name, data, isLoading, error, user.id, window.innerWidth]. И он начинает срать на крыше, как тот самый Герасим. При каждом чихе — перезапускается. Компонент моргает, как стробоскоп в дешёвом клубе, а ты потом удивляешься, откуда перфоманс уплыл в пизду.

useEffect(() => {
  // Тут твоя логика, которая должна сработать при изменении count или name
  document.title = `${count} новых уведомлений для ${name}`;
}, [count, name]); // Вот эта штука — твой спасательный круг. Не забудь про неё, а то утонешь.

А ещё есть эти правила хуков, блядь. Нельзя их вызывать условно или в циклах. Это как закон: «Не воруй, не убивай, не вызывай хуки внутри if». Нарушишь — React тебе такую ошибку в консоль впендюрит, что мало не покажется. Он прям так и скажет: «Rendered fewer hooks than expected». То есть, ты ему пообещал один хуй, а подсунул пол-хуя. Непорядок.

Короче, useEffect — это мощный инструмент, но тупой, как пробка. Ты ему всё на блюдечке с голубой каёмочкой должен разложить: что делать, и на что реагировать. А он уж своё дело сделает. Главное — не переборщить с зависимостями, а то получится, как в той поговорке: «Хотел как лучше, а получилось как всегда — ебись оно конём».