developit / developit/preact-virtual-list
Instead of a data prop, allow for an item getter function
- 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