All Projects → petyosi → React Virtuoso

petyosi / React Virtuoso

Licence: mit
The most powerful virtual list component for React

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to React Virtuoso

Nim ios uikit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币,首次推荐得0.02BTC,连续推荐得0.03BTC/单,上不封顶。点击参与https://yunxin.163.com/promotion/recommend
Stars: ✭ 1,326 (-1.56%)
Mutual labels:  chat, component-library
NIM iOS UIKit
网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。#推荐客户得比特币/京东卡,现在推荐使用网易云信,最低得0.02BTC或3000元京东卡/单,点击参与:https://yunxin.163.com/promotion/recommend
Stars: ✭ 1,371 (+1.78%)
Mutual labels:  chat, component-library
Chat Ui Kit React
Build your own chat UI with React components in few minutes. Chat UI Kit from chatscope is an open source UI toolkit for developing web chat applications.
Stars: ✭ 131 (-90.27%)
Mutual labels:  chat, feed
Chaskiq
A full featured Live Chat, Support & Marketing platform, alternative to Intercom, Drift, Crisp, etc ...
Stars: ✭ 1,263 (-6.24%)
Mutual labels:  chat
Lawsroom
Group video chat on your browser. [No plugin required]
Stars: ✭ 87 (-93.54%)
Mutual labels:  chat
Telebot.nim
Async client for Telegram Bot API in pure Nim [Bot API 5.1]
Stars: ✭ 93 (-93.1%)
Mutual labels:  chat
Candy
JavaScript-based multi-user chat client for XMPP.
Stars: ✭ 1,316 (-2.3%)
Mutual labels:  chat
React Native Zendesk Chat
React Native Wrapper around Zendesk Chat v2
Stars: ✭ 84 (-93.76%)
Mutual labels:  chat
React Slack Clone
Complete chat application, built with Chatkit | by @lukejacksonn
Stars: ✭ 1,306 (-3.04%)
Mutual labels:  chat
Seq2seq chatbot
a chatbot which is implemented via seq2seq model.
Stars: ✭ 90 (-93.32%)
Mutual labels:  chat
Chat.io
A Real Time Chat Application built using Node.js, Express, Mongoose, Socket.io, Passport, & Redis.
Stars: ✭ 1,325 (-1.63%)
Mutual labels:  chat
React Simple Chatbot
💬 Easy way to create conversation chats
Stars: ✭ 1,292 (-4.08%)
Mutual labels:  chat
Xcui
🍴 A Vue.js 2.x desktop components colletion
Stars: ✭ 88 (-93.47%)
Mutual labels:  component-library
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-93.32%)
Mutual labels:  chat
Chat Engine
Object oriented event emitter based framework for building chat applications in Javascript.
Stars: ✭ 87 (-93.54%)
Mutual labels:  chat
Bukanmessenger
BukanMessenger is an Open Source Messenger App build on top ReactNative & MeteorJS
Stars: ✭ 95 (-92.95%)
Mutual labels:  chat
Omeglemiddleman
Lets you connect strangers to each other, and intercept messages AKA Man in the Middle Attack
Stars: ✭ 85 (-93.69%)
Mutual labels:  chat
Virtual Makeup
Python script to apply lipstick, blush and nail polish to images
Stars: ✭ 89 (-93.39%)
Mutual labels:  virtual
Lax
IRC client built with Electron & React
Stars: ✭ 95 (-92.95%)
Mutual labels:  chat
Turms
The world's most advanced open source instant messaging engine for 100K~10M concurrent users https://turms-im.github.io/docs
Stars: ✭ 97 (-92.8%)
Mutual labels:  chat

npm version

React Virtuoso is the most powerful React virtual list component, full stop. Here's why:

For live examples and documentation, check the documentation website.

Sponsors

Stream

React Virtuoso is proudly sponsored by Stream, the leading provider in enterprise grade Feed & Chat APIs. To learn more about Stream, click here.

If you are using Virtuoso for work, sponsor it. Any donation helps a lot with the project development and maintenance.

Get Started

npm install react-virtuoso
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import { Virtuoso } from 'react-virtuoso'

const App = () => {
  return <Virtuoso style={{ height: '400px' }} totalCount={200} itemContent={index => <div>Item {index}</div>} />
}

ReactDOM.render(<App />, document.getElementById('root'))

Grouped Mode

The GroupedVirtuoso component is a variant of the "flat" Virtuoso, with the following differences:

  • Instead of totalCount, the component exposes groupCounts: number[] property, which specifies the amount of items in each group. For example, passing [20, 30] will render two groups with 20 and 30 items each;
  • In addition the itemContent property, the component requires an additional groupContent property, which renders the group header. The groupContent callback receives the zero-based group index as a parameter.

Grid

The VirtuosoGrid component displays same sized items in multiple columns. The layout and item sizing is controlled through CSS class properties, which allows you to use media queries, min-width, percentage, etc.

Works With Your UI Library of Choice

You can customize the markup up to your requirements - check the Material UI list demo. If you need to support reordering, check the React Sortable HOC example.

Documentation and Demos

For in-depth documentation and live examples of the supported features and live demos, check the documentation website.

Author

Petyo Ivanov @petyosi.

Contributing

Fixes and new Features

To run the tests, use npm run test. An end-to-end browser-based test suite is runnable with npm run e2e, with the pages being e2e/*.tsx and the tests e2e/*.test.ts.

A convenient way to debug something is to preview the test cases in the browser. To do that, run npm run browse-examples - it will open a crude UI that lets you browse the components in the e2e folder.

Docs

The documentation site is built with docusaurus and the content is available in the site/docs directory. The API reference is generated from the doc comments in src/components.tsx.

License

MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].