What problem does it solve?
Rendering long chat histories in React can lead to sluggish performance and jank as the DOM grows. VirtuosoMessageList provides a highly-optimized virtualized list that renders only items currently in view and offers robust scroll management to preserve the user’s position during updates.
Core Features & Use Cases
- Virtualized rendering for long conversations, eliminating the need to measure every item.
- Declarative scroll control via the data prop, with optional smooth or instant transitions.
- Imperative data API (append, prepend, map, notifyItemsChanged) for dynamic message updates.
- Flexible slots and context (Header, Footer, StickyHeader, StickyFooter, EmptyPlaceholder) for custom chat UIs.
- Suitable for chat interfaces, AI conversations, and multi-channel messaging with streaming and history loading.
- Licensing wrapper required for production use.
Quick Start
Install the package, wrap your list with VirtuosoMessageListLicense using your license key, and supply an ItemContent renderer along with data.