Working with ScrollView & FlatList

📜 React Native (TypeScript) এ ScrollView & FlatList

React Native অ্যাপে যখন অনেক কনটেন্ট বা লিস্ট দেখাতে হয়, তখন ScrollView এবং FlatList সবচেয়ে বেশি ব্যবহৃত হয়। এই লেসনে আমরা ফাইল–বেসড React Native (TypeScript) প্রজেক্টে ScrollView ও FlatList কীভাবে কাজ করে, উদাহরণ এবং আউটপুট সহ দেখব।


🔹 ScrollView কী?

ScrollView হলো একটি container component যেটার ভিতরে থাকা সব কনটেন্ট একসাথে render হয় এবং স্ক্রল করার সুবিধা দেয়।

📌 কখন ScrollView ব্যবহার করবেন?

  • কনটেন্ট কম হলে
  • Static UI বা ছোট ফর্ম হলে
  • Dashboard বা Profile Screen

📄 ScrollView Example (TypeScript)

import { ScrollView, Text, View } from 'react-native';

const ScrollExample = (): JSX.Element => {
  return (
    <ScrollView>
      {Array.from({ length: 20 }).map((_, index) => (
        <View key={index} style={{ padding: 20 }}>
          <Text>Item {index + 1}</Text>
        </View>
      ))}
    </ScrollView>
  );
};

export default ScrollExample;
  

📱 Output:

স্ক্রিনে একটার পর একটা Item দেখাবে এবং উপরে–নিচে স্ক্রল করা যাবে। সব item একসাথে load হবে।


🔹 FlatList কী?

FlatList হলো React Native এর সবচেয়ে powerful list component। এটি শুধুমাত্র স্ক্রিনে দেখা item গুলো render করে, ফলে অ্যাপ অনেক ফাস্ট ও মেমোরি–এফিশিয়েন্ট হয়।

📌 কখন FlatList ব্যবহার করবেন?

  • ডাটা বেশি হলে
  • API থেকে লিস্ট এলে
  • Chat, Product List, User List

📄 FlatList Example (TypeScript)

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

type User = {
  id: string;
  name: string;
};

const DATA: User[] = [
  { id: '1', name: 'Rahul' },
  { id: '2', name: 'Amit' },
  { id: '3', name: 'Suman' },
];

const FlatListExample = (): JSX.Element => {
  return (
    <FlatList
      data={DATA}
      keyExtractor={(item) => item.id}
      renderItem={({ item }) => (
        <View style={{ padding: 20 }}>
          <Text>{item.name}</Text>
        </View>
      )}
    />
  );
};

export default FlatListExample;
  

📱 Output:

প্রতিটা নাম আলাদা আলাদা row তে দেখাবে। Scroll করার সময় শুধুমাত্র প্রয়োজনীয় item render হবে।


⚔ ScrollView vs FlatList

Feature ScrollView FlatList
Performance Low High
Large Data
Lazy Loading

✅ Best Practices

  • ডাটা বেশি হলে সবসময় FlatList ব্যবহার করুন
  • keyExtractor অবশ্যই দিন
  • ScrollView এর ভিতরে FlatList ব্যবহার করবেন না
  • TypeScript ব্যবহার করে data type define করুন
🎯 সংক্ষেপে: ছোট কনটেন্ট → ScrollView বড় ও Dynamic List → FlatList
👼 Quiz
/

লোড হচ্ছে...