developit / developit/preact-virtual-list

Instead of a data prop, allow for an item getter function

Ouverte
#3 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
231
Forks
24
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

I implemented something similar to this and if you truly are going to make 1M rows available for scrolling, you definitely don't want them all in memory at the same time.

The way I got around this was to have my component accept a getRow() function that when called with an index returns a Promise. When the promise resolves, the data is then popped into the listview. If the row is already in the backing store, it's easy enough to ship a pre-resolved Promise. You'd use a storage pattern like an LRU to keep overall memory impact low.

Cheers!

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par lire le composant de liste virtuelle et sa prop data actuelle afin de comprendre comment les lignes entrent dans la listview. Évaluez comment une fonction getRow(index) renvoyant une Promise interagirait avec le rendu des lignes visibles, la réutilisation du backing store et un cache LRU. Le travail est terminé lorsque les grands jeux de données peuvent charger les lignes à la demande sans conserver toutes les lignes en mémoire, et que le comportement est couvert par les tests existants du projet.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
javascript
Domaine
frontend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.