30 open-source projects similar to bvaughn/react-window, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Window alternative.
This library is a headless virtualization engine designed to optimize performance for large-scale list and grid rendering in Vue applications. By mounting only the elements currently visible within the viewport, it minimizes browser operations and memory usage, allowing interfaces to remain responsive even when handling massive datasets. The engine distinguishes itself through a headless layout abstraction that decouples virtualization logic from specific markup, enabling the creation of custom interfaces without enforcing rigid container styles. It features automatic, dynamic size calculatio
react-virtualized is a library of components for rendering massive lists and tables by drawing only the elements visible in the viewport. It provides specialized layout managers including a windowed grid component and a dynamic height list manager. The project includes a masonry layout engine for packing items of varying heights and widths, as well as an infinite scroll interface for incrementally fetching and appending data. The library covers a broad range of virtualization capabilities, including frozen grid elements, reverse list rendering, and synchronized viewport scrolling. It also su
gpui-component is a native desktop UI kit and component library built for the GPUI framework. It provides a collection of reusable user interface elements, a desktop layout engine for organizing application space, and a specialized data visualization library for rendering quantitative information. The project is distinguished by its high-performance rendering systems, including a virtualized data grid and list system designed to handle large datasets with low memory overhead. It also features a comprehensive data visualization toolkit for rendering charts, axes, and coordinate scales using li
This project provides high-performance list components for React Native that utilize a view-recycling rendering engine. It is designed to display large datasets by reusing existing components instead of destroying and recreating them, which reduces memory usage and prevents blank cells during fast scrolling. The library distinguishes itself through a specialized virtualized list manager and support for masonry grid layouts, which allow for multiple columns with varying item heights. It includes a type-based recycling system that ensures the correct component structure is reused for specific d
Legend List is a high-performance list rendering library designed to display massive collections of data with varying item heights. It utilizes windowed virtualization and a measured-height cache to render only the visible portion of a list, preventing lag and maintaining a smooth frame rate. The library specializes in bidirectional infinite scrolling and stable scroll anchoring, which prevents visual jumps when content is prepended to the top of a list. It includes specific alignment capabilities to keep content pinned to the bottom, supporting the layout requirements of chat interfaces. To
This project is a high-performance data grid component designed for React applications. It provides a declarative framework for rendering large-scale datasets and complex tabular structures by utilizing a canvas-based drawing engine instead of traditional document object model nodes. The library distinguishes itself through a windowed virtualization engine that maintains constant memory usage by rendering only the visible portion of the grid. It translates pointer interactions into specific cell references through coordinate-based mapping and supports the injection of external application sta
React Virtuoso is a React component library for rendering large datasets efficiently through virtualized lists, grids, tables, and chat interfaces. It automatically measures variable-height items at runtime, computes accurate scroll offsets without requiring fixed sizes, and renders only the items within the visible viewport plus a configurable buffer zone. The library manages scroll position through a state machine that tracks direction, position, and anchor items to handle auto-scroll, sticky headers, and bidirectional loading. The library distinguishes itself with specialized components fo
This library provides a React component for rendering interactive hierarchical data structures. It is designed to visualize nested information through recursive composition, allowing users to navigate deep data hierarchies by expanding and collapsing branches. The component distinguishes itself by integrating drag-and-drop functionality, enabling users to reorganize nodes directly within the interface. It also supports asynchronous data loading, which fetches child branches on demand to manage remote or deep datasets efficiently. The library includes performance optimizations for large datas
Element Plus is a Vue.js UI component library and enterprise web design system used for building professional web applications with Vue.js 3. It provides a comprehensive set of pre-styled interactive components and tools designed for creating responsive user interfaces. The project includes a customizable component theme system for managing global CSS variables and dark mode palettes. It also features a Vue.js migration toolkit with automated transpilation tools to convert legacy UI code to current component standards. The library covers a wide range of capability areas, including high-perfo
Glide Data Grid is a virtualized data grid for React and TypeScript that uses the HTML Canvas API to render millions of cells smoothly. It is designed as an accessible data table that maintains high frame rates when displaying and navigating massive datasets. The project distinguishes itself through a canvas-based rendering architecture that utilizes lazy rendering and a custom drawing API. This allows for specialized cell content and data-driven styling that bypasses standard DOM update cycles to ensure high performance. The grid provides comprehensive layout and data management capabilitie
react-data-grid is a high-performance tabular interface for rendering and manipulating large datasets within a React application. It functions as a virtualized data table and editable spreadsheet component that supports hierarchical data grids with expandable and collapsible row groupings. The component maintains performance with massive datasets by rendering only the rows and columns currently visible in the viewport. It provides spreadsheet-like data manipulation, including cell editing and the ability to copy, paste, or drag values between cells. The grid supports advanced layout capabili
GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a
Bootstrap Table is a jQuery plugin for rendering interactive data grids with sorting, pagination, and filtering. It features a remote data integration system for fetching and synchronizing content from JSON endpoints using AJAX and server-side processing. The project includes a styling layer that adapts markup to work with various CSS frameworks, such as Bootstrap, Semantic UI, Bulma, and Material Design. It provides specialized rendering modes, including a hierarchical tree grid for parent-child row relationships and a responsive card-view table that transforms grids into mobile-friendly lay
Clusterize.js is a vanilla JavaScript virtual list library and DOM virtualization tool. It enables the display of massive data sets by rendering only the subset of rows currently visible within the user viewport. The plugin operates as a lightweight frontend component without external dependencies or framework requirements. It reduces browser memory usage and DOM load by swapping the content of existing elements rather than rendering thousands of nodes simultaneously. The library focuses on frontend performance optimization and large dataset visualization. It maintains a native scrolling exp
Base UI is a headless component library and unstyled framework providing accessible interface primitives. It decouples behavioral logic and state management from the visual layer, allowing developers to implement complex UI patterns while maintaining total control over the final styling. The library implements WAI-ARIA design patterns to ensure all primitives support standard keyboard navigation and screen reader accessibility. It provides a suite of low-level building blocks that handle the internal mechanics of interface elements without bundling any CSS. The framework covers a broad range
This project is a collection of reference implementations and sample applications for Flutter. It provides practical examples covering API integration, user authentication, data persistence, and a gallery of UI patterns. The repository distinguishes itself by offering a wide array of functional demos, including implementations for Google and email-based identity verification, cloud database synchronization, and the use of both relational and key-value local storage. It also includes specialized utility examples such as expense tracking, tip calculation, and body mass index tools. The project
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
This project is a high-performance dropdown component designed to handle massive datasets within user interfaces. By integrating windowing and virtualization techniques, it renders only the items currently visible within the viewport, ensuring that lists containing thousands of entries remain responsive and memory-efficient. The library functions as an extension for existing selection components, utilizing a higher-order component pattern to inject virtualization logic without requiring modifications to the underlying source code. It provides extensive control over the selection experience, a
This project is a notification library for web applications that provides a system for displaying transient, non-blocking toast messages. It functions as a UI component library that manages the lifecycle, visibility, and positioning of alerts, allowing developers to provide immediate feedback to users through success, error, or loading states. The library distinguishes itself through a headless logic architecture that decouples state management from the visual layer, enabling full control over the appearance and structure of notifications. It supports custom component rendering, allowing deve
React Bits is a comprehensive collection of architectural patterns, design strategies, and coding standards for building maintainable user interfaces. It functions as a guide for structuring complex applications through modular component composition, declarative state management, and consistent data flow techniques. The project distinguishes itself by providing a library of established design patterns and optimization techniques that address common development challenges. It emphasizes the identification and resolution of suboptimal coding practices, offering reliable alternatives to improve
Naive UI is a comprehensive TypeScript user interface library and component set designed specifically for Vue 3 applications. It provides a type-safe framework for building web interfaces, featuring a responsive layout engine and high-performance data components such as virtual-scroll data tables. The library is distinguished by a customizable theme system that utilizes type-safe JavaScript objects for visual overrides instead of traditional CSS variables. This architecture allows for dynamic runtime updates and global style configurations managed through a centralized provider. The framewor
loadable-components is a React code splitting library and client-side bundle optimizer. It functions as a dynamic component loader that splits application code into smaller chunks to reduce initial bundle size and improve page load performance. The project manages the delivery of JavaScript assets through asynchronous component loading, ensuring that code chunks are fetched on demand. It utilizes a dynamic import wrapper and promise-based resolution to handle the transition from pending states to rendered components. The library provides infrastructure for server-side rendering integration,
web3-react is a React framework for building decentralized applications that connect to Ethereum wallets and read blockchain state. It provides a unified interface for wallet connection management, enabling Ethereum dApp development through a collection of hooks and providers that abstract away provider-specific logic. The library is built around a connector plugin architecture that normalizes interactions across different Ethereum networks and wallet implementations. It distributes blockchain state through React Context and synchronizes state reactively by subscribing to provider events like
Tabulator is an interactive data table library and virtual DOM data grid used to create high-performance tables from JSON or arrays. It functions as a hierarchical data viewer and a spreadsheet interface component, capable of rendering thousands of records efficiently through viewport-based virtualization and progressive loading. The library distinguishes itself by providing a full spreadsheet interface mode with multi-sheet management, cell range selection, and bulk copy-paste capabilities. It supports complex data architectures, including nested data field mapping, expandable tree structure
This project provides a comprehensive suite of tools for managing asynchronous state and building full-stack web applications. At its core, it functions as a centralized synchronization layer that automates data fetching, caching, and background revalidation, ensuring that remote server data remains consistent with the local user interface. By utilizing a declarative, hook-based programming model, it simplifies the management of complex data lifecycles and loading states. The project distinguishes itself through a headless design philosophy that decouples business logic from visual presentati
Svelte is a compile-time user interface framework that transforms declarative component syntax into highly optimized, imperative JavaScript code during the build process. By shifting reconciliation logic from the browser to the build step, it functions as a zero-runtime library that eliminates the need for a heavy framework bundle. This architecture relies on a reactive state management paradigm where data changes trigger surgical updates to the document object model without the use of a virtual representation. The framework distinguishes itself through a reactive dependency tracking system t
Million is a framework-level enhancement designed to optimize the performance of user interfaces by reducing overhead in component reconciliation. It functions as a build-time compiler that transforms components into lightweight, efficient code to accelerate rendering and minimize the runtime work required for interface updates. The project distinguishes itself by replacing standard reconciliation logic with a specialized virtual DOM implementation. Through static analysis and a build-step utility, it identifies and optimizes component trees, allowing for granular updates that target only mod
gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive interfaces with draggable and resizable elements. It functions as a drag-and-drop layout manager and a JSON-serializable layout engine, allowing user-defined interface states to be persisted and restored. The library distinguishes itself through a touch-enabled grid interface and a responsive system that automatically adjusts item placement based on screen breakpoints. It features a collision-based layout engine that manages overlapping coordinates to shift or swap elements, alongsid