Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

ReactNative에서 VirtualizedList 구성 요소 사용법을 설명하시겠습니까?

<시간/>

VirtualizedList 구성 요소는 목록의 크기가 엄청나게 클 때 가장 좋습니다.VirtualizedList는 성능과 메모리 사용을 개선하는 데 도움이 됩니다. 사용자가 스크롤하면 데이터가 사용자에게 표시됩니다.

VirtualizedList의 기본 구성 요소는 다음과 같습니다. &minuns;

<VirtualizedList data={DATA} initialNumToRender={4} renderItem={renderItem} keyExtractor={keyExtractor} getItemCount={getItemCount} getItem={getItem} />

중요한 VirtualizedList 속성

소품 설명
렌더아이템 데이터의 항목은 VirtualizedList 내에서 렌더링됩니다.
데이터 표시할 데이터입니다.
getItem 데이터에서 개별 항목을 가져오는 함수입니다.
getItemCount 데이터 항목의 수를 가져옵니다.
initialNumToRender 시작할 때 렌더링할 횟수입니다.
키 추출기 지정된 인덱스의 각 항목에 대해 고려할 고유 키입니다.

다음은 VirtualizedList의 작동 예입니다.

예:VirtualizedList를 사용한 데이터 표시

VirtualizedList로 작업하려면 먼저 다음과 같이 가져옵니다. -

import { SafeAreaView, View, VirtualizedList, StyleSheet, Text } from 'react-native';

VirtualizedList의 코드는 다음과 같습니다 -

<SafeAreaView>
   <VirtualizedList
      data={DATA}
      initialNumToRender={4}
      renderItem={({ item }) => <Item title={item.title} />}
      keyExtractor={item => item.id}
      getItemCount={getItemCount}
      getItem={getItem}
   />
</SafeAreaView>

렌더링에 표시하려는 초기 항목은 4입니다. renderItem 속성은 항목을 화면에 표시하는 데 사용됩니다. 아래와 같이 정의된 커스텀 아이템 컴포넌트를 사용합니다 -

const Item = ({ title })=> {
   return (
      <View style={styles.item}>
      <Text style={styles.title}>{title}</Text>
      </View>
   );
}

keyExtractor 각 항목에 대한 고유 키를 정의합니다.

keyExtractor={item => item.id}

props getItemCount는 사용자에게 표시될 총 항목 수를 가져옵니다. 지금은 다음과 같이 정의된 getItemCount 함수를 호출합니다.

const getItemCount = (data) => {
   return 100;
}
getItemCount={getItemCount}

getITem 소품은 표시할 데이터를 가져오기 위한 것입니다. getItem 메서드를 호출하며 다음과 같이 정의됩니다. -

const getItem = (data, index) => {
   return {
      id: index,
      title: 'test'
   }
}
getItem={getItem}

VirtualizedList를 표시하는 완전한 코드는 다음과 같습니다 -

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

출력

ReactNative에서 VirtualizedList 구성 요소 사용법을 설명하시겠습니까?