
React-мемоизация: когда useMemo и memo вредят
Мемоизация в React не бесплатна: обёртки съедают память и время сравнения пропсов. Разбираем, когда useMemo, useCallback и memo реально ускоряют рендер, а когда только замедляют.

Мемоизация в React не бесплатна: обёртки съедают память и время сравнения пропсов. Разбираем, когда useMemo, useCallback и memo реально ускоряют рендер, а когда только замедляют.

Список на 50 тысяч строк с виртуализацией дал фризы прокрутки по 300 мс на слабом ноутбуке. Разбираем, где именно теряется кадр: измерение высот, реюз DOM-узлов, реакция на быстрый скролл.

Список на 50 000 строк вешает вкладку: браузер держит в DOM 200 000 узлов. Виртуализация оставляет в дереве только видимое. Разбираем, что происходит на скролле, где текут баги и что мерить.

Список из 10 000 строк вешает вкладку на 1,5 секунды при монтировании и лагает при скролле. Разбираем, что именно тормозит, как виртуализация меняет цифры и где она ломается.

Разбор того, что заставляет браузер пересчитывать геометрию и перерисовывать страницу, как измерить лаги в DevTools и какие паттерны кода бьют по кадровой частоте.

Скролл дёргается, анимация проседает до 20 fps, а профайлер показывает жёлтые полосы в главном потоке. Разбираем путь кадра от JS до пикселей и точки, где он рвётся раньше всего.

Разбор пути от изменения DOM до пикселей на экране: почему layout блокирует всё, где рвётся плавность прокрутки и что именно мерить, когда страница тормозит.

Список на 50 тысяч DOM-узлов вешает вкладку на секунды при скролле. Разбираем, какими приёмами держать в DOM только видимую часть — и чем каждый из них платит за производительность.

Спиннер по центру экрана — минимальный уровень. Скелетоны, оптимистичные обновления, обработка ошибок и защита от мигания дают ощутимо другое качество интерфейса. Разбираем по пунктам.

Браузер умеет проверять поля без единой строки JavaScript, но по умолчанию делает это некрасиво и не так, как нужно проекту. Разбираем, где заканчивается встроенная валидация и как аккуратно достроить свою.

Мигание белого экрана при загрузке, потеря выбора пользователя, серый текст на сером фоне — разбираем, почему тёмная тема ломается и как это чинить.

Модалка, которую нельзя закрыть с клавиатуры, кнопка-div без роли, фокус, улетающий в фон. Разбираем приёмы, которые чинят реальные проблемы доступности без переписывания вёрстки.