Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • React Documentation22টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • কেন React?
  • JSX
  • Component & Props
  • Conditional Rendering
  • Lists & Keys
  • Events
  • State (useState)
  • Forms
  • Lifting State
  • useEffect
  • useRef
  • Context
  • useReducer
  • Memoization
  • Custom Hooks
  • Children & Props
  • Error Boundaries
  • Portals & Fragments
  • Data Fetching
  • Performance
  • Todo Project
  1. Docs
  2. React
  3. Context API
ReactIntermediate

Context API

Props drilling কমাতে Context — createContext, Provider, useContext — বাংলায়।

7টি অংশবাংলা ভাষায়

কখন Context দরকার

যখন অনেক component-কে একই ডেটা (theme, user, language) দরকার — আর props ধরে ধরে পাঠানো ক্লান্তিকর। তখন Context সেই ডেটা সরাসরি যেকোনো গভীরের component-এ পৌঁছে দেয়।

Theme Contextjsx
jsx
import { createContext, useContext, useState } from "react";

const ThemeContext = createContext("light");

function App() {
  const [theme, setTheme] = useState("light");

  return (
    <ThemeContext.Provider value={{ theme, setTheme }}>
      <Toolbar />
    </ThemeContext.Provider>
  );
}

// যেকোনো গভীরে
function ThemeButton() {
  const { theme, setTheme } = useContext(ThemeContext);

  return (
    <button onClick={() => setTheme(theme === "light" ? "dark" : "light")}>
      Current: {theme}
    </button>
  );
}

Provider নিয়ম

  • value বদলালে context-এর সব consumer re-render হয়
  • Overuse এড়িয়ে চলুন — অপ্রয়োজনীয় 값을 context-এ না
  • Context-এ state-ও রাখা যায় — সাথে reducer দিয়ে জটিলতা কমান
  • Server Components-এ পুরো object পাস না — serializable value দিন

Reducer + Context combo

Mini storejsx
jsx
const AuthContext = createContext(null);

function AuthProvider({ children }) {
  const [user, dispatch] = useReducer(authReducer, null);

  return (
    <AuthContext.Provider value={{ user, dispatch }}>
      {children}
    </AuthContext.Provider>
  );
}

function useAuth() {
  return useContext(AuthContext);
}
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরuseRef — DOM ও Mutable ValueপরেরuseReducer — জটিল State
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com