
React Virtuoso - La liste de composants de rendu de virtualisation REACT Virtualization la plus complète.
Pour les exemples et la documentation en direct, consultez le site Web de documentation.
Si vous utilisez Virtuoso pour le travail, parrainez-le. Tout don contribue beaucoup à le développement et à la maintenance du projet.
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' ) ) Le composant Virtuoso Message List est construit spécifiquement pour les conversations humaines / chatbot. En plus du rendu virtualisé, le composant expose une API de gestion des données impérative qui vous donne le contrôle nécessaire sur la position de défilement lorsque les messages plus anciens sont chargés, de nouveaux messages arrivent et lorsque l'utilisateur soumet un message. La position de défilement peut mettre à jour instantanément ou avec une animation de défilement lisse.
Le composant GroupedVirtuoso est une variante du Virtuoso "plat", avec les différences suivantes:
totalCount , le composant expose groupCounts: number[] Propriété, qui spécifie la quantité d'éléments dans chaque groupe. Par exemple, le passage [20, 30] rendra deux groupes avec 20 et 30 éléments chacun;itemContent , le composant nécessite une propriété groupContent supplémentaire, qui rend l' en-tête de groupe . Le rappel groupContent reçoit l'indice de groupe basé sur le zéro en tant que paramètre. Le composant VirtuosoGrid affiche les mêmes éléments de taille dans plusieurs colonnes. La disposition et le dimensionnement des éléments sont contrôlés via les propriétés de la classe CSS, qui vous permet d'utiliser les requêtes multimédias, la largeur min, le pourcentage, etc.
Le composant TableVirtuoso fonctionne comme Virtuoso , mais avec des tables HTML. Il prend en charge le défilement de la fenêtre, les en-têtes collants, les colonnes collantes et fonctionne avec la table React et la table MUI.
Vous pouvez personnaliser le balisage de vos exigences - consultez la démo de la liste d'interface utilisateur du matériel. Si vous devez prendre en charge la réorganisation, consultez l'exemple REACT REACT SORTABLE.
Pour une documentation approfondie et des exemples en direct des fonctionnalités prises en charge et des démos en direct, consultez le site Web de la documentation.
Pour prendre en charge les navigateurs hérités, vous devrez peut-être charger un polyfill de redimensiorobserver avant d'utiliser react-virtuoso :
import ResizeObserver from 'resize-observer-polyfill'
if (!window.ResizeObserver)
window.ResizeObserver = ResizeObserver
PETYO IVANOV @PETYOSI.
Pour exécuter les tests, utilisez npm run test . Une suite de tests basée sur un navigateur de bout en bout est possible avec npm run e2e , les pages étant e2e/*.tsx et les tests e2e/*.test.ts
Un moyen pratique de déboguer quelque chose est de prévisualiser les cas de test dans le navigateur. Pour ce faire, exécutez npm run dev - il lancera un serveur Ladle qui vous permet de parcourir les composants dans le dossier examples .
Licence MIT.