Context API ব্যবহার
🌿 React Native State Management Context API ব্যবহার (TypeScript সহ)
বড় React Native অ্যাপে state একাধিক screen ও component-এ ব্যবহার করতে হয়। prop drilling এ সমস্যা এড়াতে আমরা ব্যবহার করি Context API।
📌 এই টিউটোরিয়ালে আমরা শিখবো:
- Context API কী ও কেন ব্যবহার করবেন
- File-based folder structure
- TypeScript সহ Context তৈরি
- State share করা
- Output কেমন হবে
1️⃣ Context API কী?
Context API হলো React-এর built-in state management system, যার মাধ্যমে আমরা global state তৈরি করে যেকোনো component থেকে access করতে পারি— props পাঠানো ছাড়াই।
2️⃣ কখন Context API ব্যবহার করবেন?
- User Login Info
- Theme (Dark / Light)
- Language
- Cart / Wishlist
- App Settings
3️⃣ File-based Folder Structure (Recommended)
src/ ├── context/ │ └── CounterContext.tsx ├── screens/ │ ├── HomeScreen.tsx │ └── ProfileScreen.tsx ├── App.tsx
4️⃣ Context তৈরি করা (TypeScript সহ)
প্রথমে আমরা একটি Counter Context বানাবো।
import React, { createContext, useState, ReactNode } from 'react';
interface CounterContextType {
count: number;
increment: () => void;
decrement: () => void;
}
export const CounterContext = createContext(undefined);
export const CounterProvider = ({ children }: { children: ReactNode }) => {
const [count, setCount] = useState(0);
const increment = () => setCount(count + 1);
const decrement = () => setCount(count - 1);
return (
{children}
);
};
5️⃣ App.tsx এ Provider wrap করা
import React from 'react';
import { CounterProvider } from './context/CounterContext';
import HomeScreen from './screens/HomeScreen';
export default function App() {
return (
);
}
6️⃣ Context ব্যবহার করা (useContext)
import React, { useContext } from 'react';
import { View, Text, Button } from 'react-native';
import { CounterContext } from '../context/CounterContext';
export default function HomeScreen() {
const counter = useContext(CounterContext);
if (!counter) return null;
return (
Count: {counter.count}
);
}
7️⃣ Output কেমন হবে?
- App চালু হলে Count দেখাবে: 0
- Increment চাপলে Count বাড়বে
- Decrement চাপলে Count কমবে
- সব screen-এ একই state share হবে
8️⃣ Context API এর সুবিধা ও সীমাবদ্ধতা
✅ সুবিধা
- No external library
- Easy to learn
- Small app-এর জন্য perfect
⚠ সীমাবদ্ধতা
- Large app এ performance issue
- Complex logic handle কঠিন
✨ সংক্ষেপে
- Context API = Global State
- TypeScript ব্যবহার করলে code আরও safe হয়
- Small–Medium app এর জন্য best
- Large app এ Redux Toolkit recommended
লোড হচ্ছে...
1. Context API কেন ব্যবহার করা হয়?
Global state শেয়ার করার জন্য।
2. Prop drilling কী?
Parent থেকে child এ বারবার props পাঠানো।
3. Context API কোন সমস্যার সমাধান করে?
Prop drilling সমস্যা।