virtual-lists

Implement windowing in React lists and grids using react-window.

235|25|Updated Mar 24, 2026
One-click install
npx skills add https://github.com/PatternsDev/skills --skill virtual-lists
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: virtual-lists
Source: https://github.com/PatternsDev/skills/tree/main/javascript/virtual-lists
Command: npx skills add https://github.com/PatternsDev/skills --skill virtual-lists

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Windowing renders only visible items to prevent UI jank when dealing with large lists.

Core Features & Use Cases

  • Windowing renders only the portion of the list that is visible in the viewport.
  • Supports common windowing libraries like react-window and react-window-infinite-loader for loading more data as you scroll.
  • Use-case: rendering lists or tables with hundreds or thousands of items to improve initial render and scrolling performance.

Quick Start

Integrate the virtual-lists skill in a React project and replace a full list render with a windowed list to improve scroll performance.

Frequently Asked Questions about virtual-lists

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I improve React list scrolling performance for thousands of items?

Apply list virtualization to render only the visible portion of large datasets, preventing UI jank. This technique replaces full list rendering with a windowed list to improve scroll performance and initial render speed.

What is list virtualization and when do I need it in React?

List virtualization is a windowing technique that renders only the items visible in the viewport. You need it when rendering lists or grids with hundreds to thousands of items where scroll jank and slow initial render become problems.

How do I implement a virtualized list with react-window?

Integrate the virtual-lists pattern in your React project by replacing a full list render with a windowed list. It supports FixedSizeList and VariableSizeList patterns from react-window to manage the visible window.

Can I load more data dynamically while scrolling a virtualized list?

Yes, you can use react-window-infinite-loader alongside your windowing library to fetch and load more data dynamically as the user scrolls through the visible list items.

Does list virtualization work for lists with variable item heights?

Yes, list virtualization supports VariableSizeList patterns to accommodate items with dynamic or variable heights, alongside FixedSizeList patterns for uniform items within the same windowing library.

Why does my React list lag when rendering a large dataset?

Your React list lags because it attempts to render all items in the DOM simultaneously. List virtualization solves this by rendering only the visible portion of the dataset, significantly reducing DOM nodes and improving performance.