Maison > interface Web > js tutoriel > Expliquez l'utilisation du composant VirtualizedList dans ReactNative ?

Expliquez l'utilisation du composant VirtualizedList dans ReactNative ?

王林
Libérer: 2023-08-24 13:45:02
avant
1668 Les gens l'ont consulté

Le composant

VirtualizedList est idéal lorsque votre liste est très grande. VirtualizedList permet d'améliorer les performances et l'utilisation de la mémoire. Au fur et à mesure que l'utilisateur fait défiler, les données sont affichées à l'utilisateur.

Les composants de base de VirtualizedList sont les suivants &minuns;

<VirtualizedList data={DATA} initialNumToRender={4} renderItem={renderItem} keyExtractor={keyExtractor} getItemCount={getItemCount} getItem={getItem} />
Copier après la connexion

Propriétés importantes de VirtualizedList

PropertyDescription
renderItemaffichera les éléments dans les données Dans VirtualizedList.
dataDonnées à afficher.
getItemFonction pour obtenir un seul élément
getItemCountObtenez le nombre d'éléments de données.
initialNumToRender< /td>Le nombre de rendus au début.
keyExtractorChaque clé unique à considérer L'élément pour l'index spécifié.

Ceci est un exemple fonctionnel de VirtualizedList.

Exemple : Afficher les données à l'aide de VirtualizedList

Pour utiliser VirtualizedList, importez-la d'abord comme suit -

import { SafeAreaView, View, VirtualizedList, StyleSheet, Text } from &#39;react-native&#39;;
Copier après la connexion

Le code de VirtualizedList est le suivant -

<SafeAreaView>
   <VirtualizedList
      data={DATA}
      initialNumToRender={4}
      renderItem={({ item }) => <Item title={item.title} />}
      keyExtractor={item => item.id}
      getItemCount={getItemCount}
      getItem={getItem}
   />
</SafeAreaView>
Copier après la connexion

L'élément initial dont nous voulons afficher le rendu est 4. La propriété renderItem est utilisée pour afficher l'élément à l'écran. Il utilise un composant Item personnalisé défini comme indiqué ci-dessous -

const Item = ({ title })=> {
   return (
      <View style={styles.item}>
      <Text style={styles.title}>{title}</Text>
      </View>
   );
}
Copier après la connexion

keyExtractor pour définir une clé unique pour chaque élément.

keyExtractor={item => item.id}
Copier après la connexion

props getItemCount Obtient le nombre total d'éléments qui seront affichés à l'utilisateur. Il appelle maintenant la fonction getItemCount, qui est définie comme suit. L'attribut

const getItemCount = (data) => {
   return 100;
}
getItemCount={getItemCount}
Copier après la connexion

getITem est utilisé pour afficher les données. Il appelle la méthode getItem, qui est définie comme suit -

const getItem = (data, index) => {
   return {
      id: index,
      title: &#39;test&#39;
   }
}
getItem={getItem}
Copier après la connexion

Le code complet pour afficher VirtualizedList est le suivant -

import React from 'react';
import { SafeAreaView, View, VirtualizedList, StyleSheet, Text } from &#39;react-native&#39;;
const DATA = [];
const getItem = (data, index) => {
   return {
      id: index,
      title: 'test'
   }
}
const getItemCount = (data) => {
   return 100;
}
const Item = ({ title })=> {
   return (
      
         {title}
         
      );
   }
   const VirtualizedListExample = () => {
      return (
         
             }
               keyExtractor={item => item.id}
               getItemCount={getItemCount}
               getItem={getItem}
         />
         
      );
   }
   const styles = StyleSheet.create({
   item: {
      backgroundColor: '#ccc',
      height: 100,
      justifyContent: 'center',
      marginVertical: 8,
      marginHorizontal: 16,
      padding: 20,
   },
   title: {
      fontSize: 32,
   },
});
export default VirtualizedListExample;
Copier après la connexion

output

解释一下 ReactNative 中 VirtualizedList 组件的用法?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal