advanced
Virtualization
Рендерите только видимые строки или ячейки, сохраняя клавиатурный доступ, измерения и поведение прокрутки.
Виртуализация рендерит только видимые строки плюс небольшой overscan, ограничивая число DOM-узлов при тысячах элементов. Библиотеки вроде react-window или TanStack Virtual измеряют или оценивают высоту строки, синхронизируют scroll и аккуратно передают фокус с клавиатуры.
Компромиссы: динамическая высота строк, sticky-заголовки, объединённые ячейки и обход screen reader по невидимым элементам. Сочетайте с бесконечной подгрузкой для лент.
На интервью объясняйте, когда виртуализация окупается и какие компромиссы по доступности она вносит.
Типовые ошибки: ломать клавиатурную навигацию, неверно считать высоту scroll и терять фокус при размонтировании строк.
Компромисс между меньшей нагрузкой на DOM и сложностью измерений и a11y.
Чеклист:
- Монтируйте только видимое окно.
- Учитывайте переменную высоту и управление фокусом.
- Тестируйте клавиатуру и восстановление scroll.