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. State ও useState
ReactIntermediate

State ও useState

useState, state update নিয়ম, immutability ও re-render ধারণা — বাংলায়।

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

State কী?

State হলো component-এর নিজস্ব ডেটা যা বদলালে UI automatically re-render হয়। useState সেই state-এর জন্য hook।

useState basicsjsx
jsx
import { useState } from "react";

function Counter() {
  const [count, setCount] = useState(0); // [value, setter]

  const increment = () => setCount(count + 1);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>+1</button>
    </div>
  );
}

Update নিয়ম

  • সরাসরি count = 5 লিখা হয় না — সবসময় setter ব্যবহার করুন
  • Setter-এর নতুন value পুরনো value replace করে, merge হয় না
  • এক event-এ একাধিক update হলে setCount((prev) => prev + 1) functional update দরকার
  • State change ⇒ re-render ⇒ UI আপডেট
Functional updatejsx
jsx
function Counter() {
  const [count, setCount] = useState(0);

  // এক event-এ ৩ বার +১
  const addThree = () => {
    setCount((prev) => prev + 1);
    setCount((prev) => prev + 1);
    setCount((prev) => prev + 1);
  };

  return (
    <button onClick={addThree}>+3 (count: {count})</button>
  );
}

Object/Array state

Immutabilityjsx
jsx
const [user, setUser] = useState({ name: "রহিম", age: 24 });

// পুরনো object-টি বদলাবেন না — নতুন বানান
const changeName = () => {
  setUser({ ...user, name: "রহিম আহমেদ" });
};

const [todos, setTodos] = useState([]);

const add = (todo) => setTodos([...todos, todo]);
const remove = (id) => setTodos(todos.filter((t) => t.id !== id));

Lazy initial state

প্রাথমিক value computation ব্যয়বহুল হলে function দিন — শুধু প্রথমবার কল হবে:

Lazy initial statejsx
jsx
const [students, setStudents] = useState(() => {
  return studentsFromDB(); // শুধু mount-এর সময় চলে
});
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরEvent HandlingপরেরForms ও Input
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com