Sobes.tech
Senior

Abbiamo una tabella con 10.000 righe che inizia a rallentare durante il rendering. Perché succede e come si può risolvere?

sobes.tech AI

Risposta dell'AI

Il rendering di una tabella con 10.000 righe causa ritardi a causa del gran numero di elementi DOM, che sovraccarica molto il browser e rallenta il rendering.

Come risolvere:

  • Virtualizzazione della lista (scroll virtuale) — renderizzare solo la parte visibile della tabella nel DOM, caricando le righe man mano che si scorre.
  • Paginazione — dividere i dati in pagine, mostrando un numero limitato di righe alla volta.
  • Ottimizzazione del rendering — usare la memorizzazione, evitare ridisegni inutili.

Esempio di utilizzo dello scroll virtuale con React e react-window:

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

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

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