Back to questions
Senior
5
У нас есть таблица с 10 000 строк, которая начинает лагать при отрисовке. Почему это происходит и как это исправить?
Companies where asked
АЛМИ Партнер
Answer from AI
sobes.tech AI
Отрисовка таблицы с 10 000 строк вызывает лаги из-за большого количества DOM-элементов, что сильно нагружает браузер и замедляет рендеринг.
Как исправить:
- Виртуализация списка (виртуальный скролл) — отрисовывать в DOM только видимую часть таблицы, подгружая строки по мере прокрутки.
- Пагинация — разбить данные на страницы, показывая ограниченное число строк за раз.
- Оптимизация рендеринга — использовать мемоизацию, избегать лишних перерисовок.
Пример использования виртуального скролла с React и react-window:
import { FixedSizeList as List } from 'react-window';
const Row = ({ index, style }) => (
<div style={style}>Row {index}</div>
);
<List
height={500}
itemCount={10000}
itemSize={35}
width={300}
>
{Row}
</List>