Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

React Native में FlatList कंपोनेंट क्या है और इसका उपयोग कैसे करें?


FlatList एक कंटेनर है जिसका उपयोग लिस्ट आइटम्स लोड करने के लिए किया जा सकता है। यह हेडर और फुटर सपोर्ट, मल्टीपल कॉलम सपोर्ट, वर्टिकल/हॉरिजॉन्टल स्क्रॉलिंग, लेज़ी लोडिंग आदि प्रदान करता है।

FlatList की कुछ महत्वपूर्ण विशेषताएं निम्नलिखित हैं:

  • स्क्रॉल लोडिंग के साथ आता है
  • ScrolltoIndex सपोर्ट का उपयोग करके स्क्रॉल को एडजस्ट करने में सक्षम
  • हेडर और फुटर सपोर्ट के साथ आता है
  • मल्टीपल कॉलम सपोर्ट
  • क्रॉस-प्लेटफॉर्म
  • कॉन्फ़िगरेबल व्यूएबिलिटी कॉलबैक्स

FlatList की बुनियादी संरचना निम्नानुसार है:

<FlatList data={DataContainer} renderItem={yourRenderItem} keyExtractor={item => item.id} />

FlatList, VirtualizedList कंपोनेंट से कार्यान्वित है जो आपके मोबाइल स्क्रीन के वर्तमान व्यूपोर्ट में फिट होने वाली सीमित संख्या में आइटम्स प्रदर्शित करने का ख्याल रखता है। बाकी डेटा यूज़र द्वारा स्क्रॉल करने पर रेंडर होता है। data और renderItem जैसे बेसिक प्रॉप्स का उपयोग FlatList बनाने के लिए किया जा सकता है।

FlatList के साथ काम करने के लिए आपको इसे react-native से इम्पोर्ट करना होगा:

import { FlatList } from "react-native";

FlatList के कुछ महत्वपूर्ण प्रॉप्स नीचे सूचीबद्ध हैं:

Props विवरण
data एक सरणी जिसमें प्रदर्शित करने के लिए डेटा होता है।
renderItem renderItem({ item, index, separators });

  • item – यह data फील्ड से वह आइटम है जो लिस्ट फॉर्मेट में प्रदर्शित होता है।
  • index – प्रत्येक आइटम को एक इंडेक्स दिया जाता है।
  • separators – एक फंक्शन है जो प्रॉप्स रेंडर करने में मदद करता है। उपलब्ध फंक्शन्स हैं:
separators.highlight(), separators.unhighlight(), separators.updateProps().
ListEmptyComponent एक कंपोनेंट क्लास, एक रेंडर फंक्शन या एक रेंडर एलिमेंट जो तब इनवोक होगा जब लिस्ट खाली हो। यदि आप लिस्ट खाली होने पर कुछ करना चाहते हैं तो यह कंपोनेंट मददगार होगा।
ListFooterComponent एक कंपोनेंट क्लास, एक रेंडर फंक्शन या एक रेंडर एलिमेंट जो सभी आइटम्स के नीचे रेंडर होगा।
ListFooterComponentStyle फुटर कंपोनेंट के लिए आवश्यक स्टाइलिंग यहाँ की जा सकती है।
ListHeaderComponent एक कंपोनेंट क्लास, एक रेंडर फंक्शन या एक रेंडर एलिमेंट जो सभी आइटम्स के ऊपर रेंडर होगा।
ListHeaderComponentStyle हेडर कंपोनेंट के लिए आवश्यक स्टाइलिंग यहाँ की जा सकती है।
horizontal यदि यह प्रॉपर्टी true पर सेट है तो आइटम्स को हॉरिजॉन्टली रेंडर करेगा।
keyExtractor दिए गए इंडेक्स के लिए यूनिक की निकालता है। की का उपयोग कैशिंग के लिए और आइटम री-ऑर्डरिंग को ट्रैक करने के लिए भी किया जाता है। (item: object, index: number) => string;

उदाहरण 1: FlatList में आइटम्स को वर्टिकली प्रदर्शित करना

उदाहरण FlatList के कामकाज को दर्शाता है। FlatList के साथ काम करने के लिए पहले कंपोनेंट इम्पोर्ट करें:

import { FlatList, Text, View, StyleSheet } from "react-native";

मुझे FlatList के साथ-साथ Text, View, StyleSheet आदि जैसे अन्य कंपोनेंट्स की आवश्यकता है। इन्हें ऊपर दिखाए अनुसार इम्पोर्ट किया जाता है।

इम्पोर्ट हो जाने के बाद, मुझे FlatList में दिखाने के लिए डेटा चाहिए। डेटा this.state.data के अंदर स्टोर किया जाता है जैसा कि नीचे दिखाया गया है:

this.state = {
    data: [
        { name: "Javascript Frameworks", isTitle: true },
        { name: "Angular", isTitle: false },
        { name: "ReactJS", isTitle: false },
        { name: "VueJS", isTitle: false },
        { name: "ReactNative", isTitle: false },
        { name: "PHP Frameworks", isTitle: true },
        { name: "Laravel", isTitle: false },
        { name: "CodeIgniter", isTitle: false },
        { name: "CakePHP", isTitle: false },
        { name: "Symfony", isTitle: false }
    ],
    stickyHeaderIndices: []
};

renderItem के लिए फंक्शन लागू करना

नीचे दिया गया फंक्शन आइटम लेने और उसे Text कंपोनेंट में प्रदर्शित करने का ख्याल रखता है:

renderItem = ({ item }) => {
    return (
        
            {item.name}
        
    );
};

Text कंपोनेंट View कंपोनेंट के अंदर लपेटा गया है। item.isTitle वेरिएबल की जांच की जाती है कि यह true/false है, और तदनुसार इसे बोल्ड बनाया जाता है, साथ ही कलर दिया जाता है।

FlatList लागू करना

यहाँ data और renderItem प्रॉप्स के साथ FlatList का कार्यान्वयन है:


     item.name} />

this.state.data को data प्रॉप्स दिया जाता है और this.renderItem फंक्शन को renderItem प्रॉप्स असाइन किया जाता है।

अपने डेटा के आधार पर आप उस की प्रॉपर्टी को बता सकते हैं जो डेटा सरणी से यूनिक होगी और वही keyExtractor प्रॉप्स को दी जानी चाहिए। यदि नहीं दी गई तो यह सरणी इंडेक्स को key मान के रूप में मान लेगा।

तो हमने नाम को यूनिक Key माना है और वही keyExtractor को असाइन किया है:

keyExtractor={item => item.name}

यहाँ पूरा कोड है जो FlatList को लागू करता है:

import React from "react";
import { FlatList, Text, View, StyleSheet, StatusBar } from "react-native";
export default class App extends React.Component {
    constructor() {
        super();
        this.state = {
            data: [
                { name: "Javascript Frameworks", isTitle: true },
                { name: "Angular", isTitle: false },
                { name: "ReactJS", isTitle: false },
                { name: "VueJS", isTitle: false },
                { name: "ReactNative", isTitle: false },
                { name: "PHP Frameworks", isTitle: true },
                { name: "Laravel", isTitle: false },
                { name: "CodeIgniter", isTitle: false },
                { name: "CakePHP", isTitle: false },
                { name: "Symfony", isTitle: false }
            ],
            stickyHeaderIndices: []
        };
    }
    renderItem = ({ item }) => {return ({item.name});};
    render() {
        return ( item.name} stickyHeaderIndices={this.state.stickyHeaderIndices} />);
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        marginTop: StatusBar.currentHeight || 0,
    },
    item: {
        margin: 10,
        padding: 20,
        marginVertical: 8,
        marginHorizontal: 16,
    }
});

आउटपुट

React Native में FlatList कंपोनेंट क्या है और इसका उपयोग कैसे करें?

उदाहरण 2: FlatList में आइटम्स को हॉरिजॉन्टली प्रदर्शित करना

FlatList आइटम्स को हॉरिजॉन्टली प्रदर्शित करने के लिए आपको बस अपने FlatList कंपोनेंट में horizontal={true} प्रॉप्स जोड़ना होगा।

import React from "react";
import { FlatList, Text, View, StyleSheet, StatusBar } from "react-native";
export default class App extends React.Component {
    constructor() {
        super();
        this.state = {
            data: [
                { name: "Javascript Frameworks", isTitle: true },
                { name: "Angular", isTitle: false },
                { name: "ReactJS", isTitle: false },
                { name: "VueJS", isTitle: false },
                { name: "ReactNative", isTitle: false },
                { name: "PHP Frameworks", isTitle: true },
                { name: "Laravel", isTitle: false },
                { name: "CodeIgniter", isTitle: false },
                { name: "CakePHP", isTitle: false },
                { name: "Symfony", isTitle: false }
            ],
            stickyHeaderIndices: []
        };
    }
    renderItem = ({ item }) => {return ({item.name});};
    render() {
        return ( item.name} stickyHeaderIndices={this.state.stickyHeaderIndices} />);
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        marginTop: 100,
    },
    item: {
        flexDirection: 'row',
        justifyContent: 'space-between',
        alignItems: 'center',
        padding: 30,
        margin: 2,
        borderColor: '#2a4944',
        borderWidth: 1,
        height: 100,
        backgroundColor: '#d2f7f1'
    }
});

आउटपुट

React Native में FlatList कंपोनेंट क्या है और इसका उपयोग कैसे करें?


  1. Steam वर्कशॉप क्या है और इसका उपयोग कैसे करें Steam वर्कशॉप क्या है और इसका उपयोग कैसे करें

    Steam वर्कशॉप गेमिंग क्लाइंट Steam का एक हिस्सा है। यह एक समुदाय-संचालित स्थान है जहां उपयोगकर्ता और सामग्री निर्माता अपने पसंदीदा गेम के लिए सामग्री अपलोड और डाउनलोड कर सकते हैं। Steam वर्कशॉप कई अलग-अलग आइटम का समर्थन करता है जिसमें मॉड्स, कलाकृति, स्किन्स, मैप्स और बहुत कुछ शामिल हैं।Steam वर्कशॉ

  1. Google ऐप समझाया गया: विशेषताएं और उपयोग कैसे करें Google ऐप समझाया गया: विशेषताएं और उपयोग कैसे करें

    Google ऐप भ्रमित करने वाला हो सकता है। यह आपके फोन की स्क्रीन पर केवल एक बड़े G के साथ दिखाई देता है जो Google सुझाता है। आप इसका उपयोग भी नहीं कर पाते क्योंकि आप वेब खोज और साइट विज़िट के लिए पहले से ही Chrome का उपयोग करते हैं। आप एक स्थान से दूसरे स्थान पर जाने के लिए Google Maps का उपयोग करते है

  1. React Native में वीडियो को बैकग्राउंड के रूप में उपयोग करना - चरण-दर-चरण गाइड React Native में वीडियो को बैकग्राउंड के रूप में उपयोग करना - चरण-दर-चरण गाइड

    इस पोस्ट में, हम React Native में एक backgroundVideo बनाने जा रहे हैं। यदि आपने अभी React Native के साथ शुरुआत की है तो मेरा लेख देखें कि React Native के साथ मोबाइल ऐप्स बनाना शुरू करने के लिए आपको क्या जानने की आवश्यकता है। डेमो: Peleton होम स्क्रीन बैकग्राउंड वीडियो ऐप के UI में एक अच्छा प्रभाव ज