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
1579 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!

source:tutorialspoint.com
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