Sitemap
MD Mehedi Hasan

MD Mehedi Hasan

Front-End Developer | Problem Solver | Penetration Tester (Web, API, Apk) | Malware Analyst | Available for Hire : securitytalent.net

React Context API Explained: One Context, Many Components

2 min readDec 14, 2025

--

React Context Explained

🧠 React Context āϏāĻšāϜ āĻ­āĻžāώāĻžā§Ÿ: āĻŸā§āϝāĻžāĻ‚āĻ• āĻāĻ•āϟāĻžāχ, āĻ•āϞ āĻ…āύ⧇āĻ•āϗ⧁āϞ⧋ 🚰

React āĻļ⧇āĻ–āĻžāϰ āϏāĻŽā§Ÿ Context API āĻ…āύ⧇āϕ⧇āϰ āĻ•āĻžāϛ⧇āχ confusing āϞāĻžāϗ⧇āĨ¤
āφāϜ āφāĻŽāĻŋ āĻāĻ•āĻĻāĻŽ āϏāĻšāϜ āĻŦāĻžāĻ¸ā§āϤāĻŦ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻāĻŋā§Ÿā§‡ āĻŦā§‹āĻāĻžāĻŦā§‹āĨ¤

Press enter or click to view image in full size

🤔 Context āφāϏāϞ⧇ āϕ⧇āύ āĻĻāϰāĻ•āĻžāϰ?

āϧāϰ⧋ āϤ⧋āĻŽāĻžāϰ App-āĻ āĻ…āύ⧇āĻ• component āφāϛ⧇āĨ¤

App
└─ ThemeColor
└─ Child

theme, name, setTheme āĻāχ āĻĄāĻžāϟāĻž āϝāĻĻāĻŋ props āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ āĻžāĻ“,
āϤāĻžāĻšāϞ⧇ āĻšāĻŦ⧇ prop drilling đŸ˜ĩ

👉 āĻāχ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āϏāĻŽāĻžāϧāĻžāύāχ React Context API

🧠 āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻŦā§‹āĻāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻŋ

āϧāϰ⧋ āĻāĻ•āϟāĻž āĻŦāĻžā§œāĻŋ 🏠

1ī¸âƒŖ createContext() = āĻĒāĻžāύāĻŋāϰ āĻŸā§āϝāĻžāĻ‚āĻ• 🚰

import { createContext } from "react";

const UserContext = createContext();

export default UserContext;

āĻāϟāĻž āĻļ⧁āϧ⧁ āĻāĻ•āϟāĻž āĻ–āĻžāϞāĻŋ āĻŸā§āϝāĻžāĻ‚āĻ•āĨ¤
āĻāĻ–āύ⧋ āϕ⧋āύ⧋ āĻĒāĻžāύāĻŋ āύāĻžāχāĨ¤

Get MD Mehedi Hasan’s stories in your inbox

Join Medium for free to get updates from this writer.

📌 āĻāĻ•āϟāĻž App-āĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ•āϟāĻžāχ āĻŸā§āϝāĻžāĻ‚āĻ• āϞāĻžāϗ⧇

2ī¸âƒŖ Provider = āĻŸā§āϝāĻžāĻ‚āϕ⧇ āĻĒāĻžāύāĻŋ āĻ­āϰāĻž 💧

<UserContext.Provider value={{ theme, setTheme, name }}>
<ThemeColor />
</UserContext.Provider>

āĻāĻ–āĻžāύ⧇ āϤ⧁āĻŽāĻŋ āĻŦāϞāϤ⧇āϛ⧋:

  • āĻĒāĻžāύāĻŋ āϕ⧀? → theme, setTheme, name
  • āĻ•āĻžāϰāĻž āĻĒāĻžāĻŦ⧇? → āĻ­āĻŋāϤāϰ⧇āϰ āϏāĻŦ component

âš ī¸ Provider āĻ›āĻžā§œāĻž context āĻ•āĻžāϜāχ āĻ•āϰāĻŦ⧇ āύāĻž

3ī¸âƒŖ useContext(UserContext) = āĻŦāĻžāϞāϤāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāύāĻŋ āύ⧇āĻ“ā§ŸāĻž đŸĒŖ

useContext(UserContext);

āĻāϟāĻž React-āĻāϰ built-in hookāĨ¤
āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦāĻžāϰāĻŦāĻžāϰ āϞāĻŋāĻ–āϤ⧇ āϗ⧇āϞ⧇ code āĻ­āĻžāϰ⧀ āĻšā§Ÿā§‡ āϝāĻžā§ŸāĨ¤

4ī¸âƒŖ useUserContext() = āĻ•āϞ āϖ⧁āϞ⧇ āĻĒāĻžāύāĻŋ āύ⧇āĻ“ā§ŸāĻž 🚰😄

import { useContext } from "react";
import UserContext from "./Component/ContexAPI";

export const useUserContext = () => {
return useContext(UserContext);
};

âš ī¸ āĻāϟāĻž āύāϤ⧁āύ context āύāĻž
āĻāϟāĻž āĻļ⧁āϧ⧁ āĻāĻ•āϟāĻž custom hook

👉 āϏ⧁āĻ¨ā§āĻĻāϰ āĻ•āϰ⧇ āĻĒāĻžāύāĻŋ āύ⧇āĻ“ā§ŸāĻžāϰ āĻāĻ•āϟāĻž āĻ•āϞ

āĻāĻ–āύ āϝ⧇āϕ⧋āύ⧋ component-āĻ āϞāĻŋāĻ–āϞ⧇āχ āĻšāĻŦ⧇:

const { theme, name } = useUserContext();

🧠 āϏāĻŦāĻšā§‡ā§Ÿā§‡ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āϞāĻžāχāύ

❗ āĻŸā§āϝāĻžāĻ‚āĻ• āĻāĻ•āϟāĻžāχ, āĻ•āϞ āĻ…āύ⧇āĻ•āϗ⧁āϞ⧋

  • createContext() → āĻāĻ•āĻŦāĻžāϰ
  • Provider → āĻāĻ•āĻŦāĻžāϰ
  • useUserContext() → āϝāϤ āϖ⧁āĻļāĻŋ component-āĻ

✅ āĻŽāύ⧇ āϰāĻžāĻ–āĻžāϰ āĻŽāĻ¨ā§āĻ¤ā§āϰ

Context āĻŦāĻžāύāĻžāĻ“ āĻāĻ•āĻŦāĻžāϰ
Provider āĻĻāĻžāĻ“ āĻāĻ•āĻŦāĻžāϰ
Hook āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋ āϝāϤāĻŦāĻžāϰ āĻĻāϰāĻ•āĻžāϰ

--

--

Written by MD Mehedi Hasan

Front-End Developer | Problem Solver | Penetration Tester (Web, API, Apk) | Malware Analyst | Available for Hire : securitytalent.net