React-компоненты для эффективного отображения больших списков и таблиц: рендерятся только видимые строки и ячейки.
bvaughn/react-window
React-компоненты для эффективного отображения больших списков и таблиц: монтируются только видимые строки и ячейки.
- Звёзды
- 17,199
- Форки
- 815
- Открытые issues
- 0
- Последний коммит
- 5 часов назад
Что это?
react-window — библиотека React-компонентов для отображения длинных списков и сеток без замедления, которое возникает при одновременном рендеринге тысяч DOM-узлов. В ней есть компонент List для данных, организованных в строки, и компонент Grid для данных в виде строк и столбцов. Рендерятся только элементы в видимой области плюс настраиваемый буфер за её пределами.
Оба компонента принимают компонент для рендеринга строки или ячейки и количество элементов, а также необязательные props для фиксированных или динамических размеров, размеров в процентах, пользовательских ключей и позиции прокрутки. Прокруткой может управлять контейнер самого компонента, родительский элемент или окно браузера; через императивный ref доступны методы прокрутки. Типы TypeScript входят в npm-пакет.
Библиотеку устанавливают через npm; она предназначена для разработчиков React, которым нужно отображать большие наборы данных в браузере. Полная документация и ответы на частые вопросы доступны на сайте проекта.
Ключевые возможности
- 01Рендерит только видимые строки или ячейки, сохраняя небольшой размер DOM при работе с большими наборами данных
- 02Предоставляет List для построчных данных и Grid для двумерных табличных данных
- 03Поддерживает фиксированную высоту строк и ширину столбцов, размеры в процентах и размеры, задаваемые функцией
- 04Позволяет динамически измерять высоту строк с помощью хука
- 05Поддерживает прокрутку окна или родительского элемента через scrollElement
- 06Предоставляет императивный API через ref для прокрутки и типы TypeScript
Сценарии использования
- Отображение тысяч сообщений чата, записей логов или элементов ленты в приложении React
- Создание таблиц данных или сеток в стиле электронных таблиц в веб-панели управления
- Отображение длинных списков вариантов в выпадающем меню или списке выбора без задержек
- Встраивание виртуализированного списка в страницу, прокручиваемую вместе с окном браузера
Быстрый старт
- 1
Установите библиотеку из NPM
npm install react-window - 2
Определения TypeScript включены в опубликованную папку dist; инструкции по использованию см. на сайте документации
Что важно знать
- Согласно README, динамическая высота строк менее эффективна, чем заранее заданные размеры.
Темы
Частые вопросы
- Что такое react-window?
- React-компоненты для эффективного отображения больших списков и таблиц: монтируются только видимые строки и ячейки. react-window — библиотека React-компонентов для отображения длинных списков и сеток без замедления, которое возникает при одновременном рендеринге тысяч DOM-узлов. В ней есть компонент List для данных, организованных в строки, и компонент Grid для данных в виде строк и столбцов. Рендерятся только элементы в видимой области плюс настраиваемый буфер за её пределами.
- react-window можно использовать бесплатно? Какая у него лицензия?
- react-window распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- react-window всё ещё поддерживается?
- Активно поддерживается. Последний коммит в react-window — 22 окт. 2026 г..
- Для чего можно использовать react-window?
- Отображение тысяч сообщений чата, записей логов или элементов ленты в приложении React Создание таблиц данных или сеток в стиле электронных таблиц в веб-панели управления Отображение длинных списков вариантов в выпадающем меню или списке выбора без задержек Встраивание виртуализированного списка в страницу, прокручиваемую вместе с окном браузера
- Как установить react-window?
- Установите библиотеку из NPM: npm install react-window Определения TypeScript включены в опубликованную папку dist; инструкции по использованию см. на сайте документации
- Где скачать react-window?
- Исходный код и инструкции по установке — на GitHub: https://github.com/bvaughn/react-window
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека из более чем 215 бесплатных анимированных и настраиваемых компонентов и фонов для React и Next.js, которые можно установить через shadcn или jsrepo.
Библиотека доступных React-компонентов и дизайн-система для быстрой разработки веб-приложений с поддержкой тёмной темы и Next.js RSC.
Библиотека компонентов React: более 100 компонентов, свыше 80 хуков и дополнительные пакеты для форм, графиков, уведомлений и многого другого.
Библиотека React-компонентов на базе React Aria и Tailwind CSS v4, ранее известная как NextUI.
Библиотека анимированных UI-компонентов и эффектов для React и Tailwind CSS, которые можно скопировать в приложения на Next.js или shadcn/ui.