TGViewer
React React @react_lib · 2.66K subscribers
Post #734 1.54K
Сегодня хочу поговорить про типичную боль React-разработчиков - лишние ререндеры.

Я регулярно вижу код, где приложение «тормозит», хотя логика простая. В 80% случаев причина банальна: компоненты перерисовываются без необходимости.

Что я проверяю в первую очередь

1️⃣ props меняются по ссылке


<Component data={{ a: 1 }} />


Каждый рендер - новый объект → новый ререндер.
Решение: useMemo.

2️⃣ функции создаются заново


onClick={() => doSomething()}


Если компонент обёрнут в memo - он всё равно будет ререндериться.
Решение: useCallback.

3️⃣ memo используется «для галочки»
React.memo без анализа - зло.
Если props всегда новые → memo бесполезен и даже мешает.

4️⃣ state лежит слишком высоко
Когда useState в родителе, а нужен только одному дочернему компоненту - привет лишним обновлениям.

Мой личный чек-лист

💚 Сначала DevTools → Highlight updates
💚 Потом проверяю ссылки
💚 И только в конце - memo, useMemo, useCallback

⚠️ Важно: оптимизация, это не рефлекс, а осознанный шаг. Сначала простота, потом скорость.

✍️ @React_lib
  • 👍 10
  • 😁 2
More from @react_lib
  1. Sep 11, 2026🚨 Избегай монолитных компонентов, которые объединяют в себе отображение, управление состо…
  2. Sep 7, 2026❌ Избегайте использования нескольких переменных состояния для отслеживания статуса. ✅ Вмес…
  3. Aug 31, 2026Сегодня написал пост на тему, которая регулярно бьёт по скорости разработки: почему React-…
  4. Aug 24, 2026❌ Избегайте «прокидывания» пропсов (prop-drilling) для расширения компонентов ✅ Вместо это…
  5. Aug 23, 2026🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.r…
  6. Aug 21, 2026⚛️ Реактивность - это просто (и всего 35 строк кода) Мы часто воспринимаем реактивность в…
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 →