0Pricing
React Academy · Leçon

FixedSizeList : afficher des milliers d’éléments

Configurez le FixedSizeList de react-window pour des lignes de hauteur uniforme et reliez-le à vos données.

FixedSizeList : afficher des milliers d’éléments est une leçon React Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage React Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours React Academy comprend 4 leçons au total.

Installer react-window

Vous ajoutez react-window à un projet avec votre gestionnaire de paquets, par exemple en installant le paquet react-window. Il est léger et n’a pas de dépendances lourdes.

Une fois la bibliothèque installée, vous importez les composants de liste dont vous avez besoin, le plus souvent FixedSizeList pour les lignes qui ont toutes la même hauteur.

Propriétés obligatoires de FixedSizeList

FixedSizeList a besoin de plusieurs propriétés pour fonctionner : height et width définissent le conteneur avec défilement, itemCount indique le nombre d’éléments et itemSize indique la hauteur de chaque ligne en pixels.

La propriété de rendu reçoit une fonction qui dessine une seule ligne. Grâce à ces informations, le composant connaît la géométrie nécessaire pour effectuer correctement le fenêtrage.

La fonction de rendu des lignes

La fonction de rendu reçoit un objet contenant un indice et une propriété de style. L’indice indique quel élément rendre, ce qui vous permet de retrouver les bonnes données, et la propriété de style positionne la ligne dans la liste virtuelle.

Vous renvoyez le JSX correspondant à cette seule ligne, et react-window n’appelle cette fonction que pour les lignes actuellement présentes dans la fenêtre.

La propriété de style essentielle

La propriété de style est indispensable et doit être appliquée à l’élément de votre ligne. react-window positionne chaque ligne de manière absolue, en utilisant sa position verticale pour la placer au bon décalage dans un grand conteneur avec défilement.

Sans appliquer cette propriété, toutes les lignes s’empileraient au même endroit et la virtualisation s’effondrerait visuellement.

Oublier la propriété de style casse tout

L’erreur la plus courante avec react-window consiste à omettre la propriété de style sur la ligne. La liste semblera défectueuse : les lignes se chevaucheront en haut et le défilement se comportera incorrectement.

Étendez toujours la propriété de style fournie sur l’élément extérieur de votre ligne, ou affectez-la-lui, afin de conserver un positionnement correct.

Transmettre des données avec itemData

Plutôt que de capturer votre tableau dans la fonction de rendu, vous pouvez le transmettre par l’intermédiaire de la propriété itemData. react-window le transmet ensuite à la ligne sous la forme d’un champ de données, avec l’indice et la propriété de style.

La ligne reste ainsi découplée et cela peut faciliter la mémorisation, puisque le composant de ligne reçoit explicitement ses données.

Direction horizontale

FixedSizeList prend en charge les listes horizontales grâce à la propriété de disposition définie sur horizontal, ou en utilisant les options de direction selon la version. itemSize représente alors la largeur plutôt que la hauteur.

C’est pratique pour les carrousels ou les frises chronologiques à défilement horizontal qui contiennent également de nombreux éléments.

overscanCount

La propriété overscanCount rend quelques lignes supplémentaires juste à l’extérieur de la fenêtre visible. Ce tampon réduit le risque de voir un espace vide pendant un défilement rapide, avant que les nouvelles lignes soient montées.

Un petit tampon de rendu anticipé fluidifie l’expérience, tandis qu’un tampon trop grand réduit le bénéfice en montant trop de lignes hors écran.

AutoSizer pour les conteneurs adaptatifs

FixedSizeList a besoin de dimensions explicites en pixels, ce qui est peu pratique dans les mises en page adaptatives. Le composant associé AutoSizer mesure son parent et fournit la largeur et la hauteur à la liste par l’intermédiaire d’une propriété de rendu.

En entourant la liste avec AutoSizer, vous lui permettez de remplir un conteneur flexible sans coder les dimensions en dur, tout en l’adaptant aux changements de mise en page.

Assembler FixedSizeList

Une FixedSizeList fonctionnelle définit height, width, itemCount et itemSize, puis rend les lignes au moyen d’une fonction de rendu qui applique la propriété de style. En option, AutoSizer lui fournit les dimensions et overscanCount ajoute un tampon.

Une fois cette configuration en place, une liste de n’importe quelle longueur ne conserve montées que les lignes visibles, tandis que le défilement reste fluide.

Vérification rapide : propriétés obligatoires de FixedSizeList

Rappelez-vous les informations que FixedSizeList doit recevoir pour rendre correctement les lignes.

Récapitulatif : FixedSizeList

FixedSizeList rend des lignes de hauteur identique grâce à height, width, itemCount, itemSize et une fonction de rendu qui reçoit l’indice et la propriété de style. L’application de la propriété de style est obligatoire, sinon les lignes se chevauchent.

Transmettez les données avec itemData, prenez en charge la disposition horizontale, ajoutez un petit tampon avec overscanCount et utilisez AutoSizer pour remplir les conteneurs adaptatifs sans coder leurs dimensions en dur.

Questions Fréquemment Posées

La leçon « FixedSizeList : afficher des milliers d’éléments » est-elle gratuite ?

Oui — le texte complet de « FixedSizeList : afficher des milliers d’éléments » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours React Academy, passe à CoddyKit PRO. Le cours React Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « FixedSizeList : afficher des milliers d’éléments » ?

Configurez le FixedSizeList de react-window pour des lignes de hauteur uniforme et reliez-le à vos données. Tu pratiques React Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer React Academy ?

Aucune expérience préalable n'est requise. React Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « FixedSizeList : afficher des milliers d’éléments » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon React Academy ?

Oui. Chaque leçon React Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le problème du rendu des grandes listes
  2. FixedSizeList : afficher des milliers d’éléments
  3. VariableSizeList : hauteurs de lignes dynamiques
  4. Combiner virtualisation et récupération de données
← Retour à React Academy