advanced

Virtualization

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

Виртуализация рендерит только видимые строки плюс небольшой overscan, ограничивая число DOM-узлов при тысячах элементов. Библиотеки вроде react-window или TanStack Virtual измеряют или оценивают высоту строки, синхронизируют scroll и аккуратно передают фокус с клавиатуры.

Компромиссы: динамическая высота строк, sticky-заголовки, объединённые ячейки и обход screen reader по невидимым элементам. Сочетайте с бесконечной подгрузкой для лент.

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

Типовые ошибки: ломать клавиатурную навигацию, неверно считать высоту scroll и терять фокус при размонтировании строк.

Компромисс между меньшей нагрузкой на DOM и сложностью измерений и a11y.

Чеклист:

  • Монтируйте только видимое окно.
  • Учитывайте переменную высоту и управление фокусом.
  • Тестируйте клавиатуру и восстановление scroll.