Sobes.tech
Senior

Imamo tabelu sa 10.000 redova koja počinje da usporava prilikom prikaza. Zašto se to dešava i kako to popraviti?

sobes.tech АИ

Одговор од АИ

Prikazivanje tabele sa 10.000 redova izaziva kašnjenja zbog velikog broja DOM elemenata, što preopterećuje pregledač i usporava renderovanje.

Kako to popraviti:

  • Virtuelizacija liste (virtuelno skrolovanje) — renderovati samo vidljivi deo tabele u DOM-u, učitavajući redove tokom skrolovanja.
  • Paginacija — podeliti podatke na stranice, prikazujući ograničen broj redova odjednom.
  • Optimizacija renderovanja — koristiti memoizaciju, izbegavati nepotrebne ponovne renderove.

Primer korišćenja virtuelnog skrolovanja sa React i react-window:

import { FixedSizeList as List } from 'react-window';

const Row = ({ index, style }) => (
  <div style={style}>Red {index}</div>
);

<List
  height={500}
  itemCount={10000}
  itemSize={35}
  width={300}
>
  {Row}
</List>