Blog>
Snippets

Optimizing Large Datasets with Virtualization

Explain how to improve rendering performance for tables with large datasets by integrating virtualization, highlighting the setup with react-window or similar libraries.
import { FixedSizeList as List } from 'react-window';
Imports the FixedSizeList component from the react-window library, which is used to render large lists efficiently.
const Row = ({ index, style }) => (
  <div style={style}>Row {index}</div>
);
Defines a Row component that will render an individual row. The component receives an index prop to indicate the row number and a style prop for necessary styling provided by react-window for positioning.
const Example = () => (
  <List
    height={150}
    itemCount={1000}
    itemSize={35}
    width={300}
  >
    {Row}
  </List>
);
Sets up the List component from react-window. This component takes several props: height and width of the list viewport, the total itemCount which is the length of the dataset, and itemSize which is the height of each row in pixels. The Row component is passed as a child to render each item.