Componentes React para renderizar listas grandes e dados tabulares com eficiência, exibindo apenas as linhas e células visíveis.
bvaughn/react-window
Componentes React para renderizar listas grandes e dados tabulares com eficiência, montando apenas as linhas e células visíveis.
- Estrelas
- 17,199
- Forks
- 815
- Issues abertas
- 0
- Último commit
- há 4 horas
O que é?
react-window é uma biblioteca de componentes React para exibir listas longas e grades sem a lentidão causada pela renderização simultânea de milhares de nós DOM. Ela oferece um componente List para dados organizados em linhas e um componente Grid para dados dispostos em linhas e colunas, renderizando apenas os itens dentro da área visível, além de uma margem configurável de overscan.
Os dois componentes recebem um componente renderizador de linhas ou células e uma quantidade de itens, além de props opcionais para tamanhos fixos ou dinâmicos, dimensões baseadas em porcentagem, chaves personalizadas e posicionamento da rolagem. A rolagem pode ser controlada pelo próprio contêiner do componente, por um elemento ancestral ou pela janela, e uma ref imperativa disponibiliza métodos de rolagem. As definições TypeScript vêm incluídas no pacote npm.
A biblioteca é instalada pelo npm e foi criada para desenvolvedores React que precisam renderizar grandes conjuntos de dados no navegador. A documentação completa e as perguntas frequentes estão no site do projeto.
Recursos principais
- 01Renderiza apenas as linhas ou células visíveis, mantendo pequeno o tamanho do DOM em conjuntos de dados grandes
- 02Oferece List para dados em linhas e Grid para dados tabulares bidimensionais
- 03Dá suporte a alturas de linha e larguras de coluna fixas, percentuais ou definidas por função
- 04Permite medir a altura dinâmica das linhas por meio de um hook
- 05Pode rolar junto com a janela ou com um elemento ancestral usando scrollElement
- 06Inclui uma API de ref imperativa para rolagem e tipos TypeScript
Casos de uso
- Renderizar mensagens de chat, logs ou feeds com milhares de entradas em um app React
- Criar tabelas de dados ou grades no estilo de planilhas em um dashboard web
- Exibir listas longas de opções em dropdowns ou selects sem travamentos
- Incorporar uma lista virtualizada em uma página que rola junto com a janela
Início rápido
- 1
Instale a biblioteca pelo NPM
npm install react-window - 2
As definições de TypeScript estão incluídas na pasta dist publicada; consulte o site da documentação para saber como usá-las
Antes de usar
- De acordo com o README, alturas dinâmicas de linha são menos eficientes do que tamanhos predefinidos.
Tópicos
Perguntas frequentes
- O que é react-window?
- Componentes React para renderizar listas grandes e dados tabulares com eficiência, montando apenas as linhas e células visíveis. react-window é uma biblioteca de componentes React para exibir listas longas e grades sem a lentidão causada pela renderização simultânea de milhares de nós DOM. Ela oferece um componente List para dados organizados em linhas e um componente Grid para dados dispostos em linhas e colunas, renderizando apenas os itens dentro da área visível, além de uma margem configurável de overscan.
- react-window é gratuito? Qual é a licença?
- react-window é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- react-window ainda é mantido?
- Manutenção ativa. O último commit de react-window foi em 22 de out. de 2026.
- Para que posso usar react-window?
- Renderizar mensagens de chat, logs ou feeds com milhares de entradas em um app React Criar tabelas de dados ou grades no estilo de planilhas em um dashboard web Exibir listas longas de opções em dropdowns ou selects sem travamentos Incorporar uma lista virtualizada em uma página que rola junto com a janela
- Como instalar react-window?
- Instale a biblioteca pelo NPM: npm install react-window As definições de TypeScript estão incluídas na pasta dist publicada; consulte o site da documentação para saber como usá-las
- Onde consigo react-window?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/bvaughn/react-window
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca com mais de 215 componentes e backgrounds gratuitos, animados e personalizáveis para React e Next.js, instaláveis via shadcn ou jsrepo.
Biblioteca de componentes React acessíveis e sistema de design para criar apps web com rapidez, com suporte a dark mode e Next.js RSC.
Biblioteca de componentes React com mais de 100 componentes, mais de 80 hooks e pacotes adicionais para formulários, gráficos, notificações e muito mais.
Biblioteca de componentes de UI para React, baseada em React Aria e Tailwind CSS v4, anteriormente conhecida como NextUI.
Biblioteca de componentes React e Tailwind CSS com componentes e efeitos de UI animados para copiar nos seus apps Next.js ou shadcn/ui.