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. Forms ও Input
ReactIntermediate

Forms ও Input

Controlled input, FormData, select/checkbox এবং React 19-এর form actions — বাংলায়।

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

Controlled input

Controlled componentjsx
jsx
import { useState } from "react";

function NameForm() {
  const [name, setName] = useState("");

  const handleSubmit = (e) => {
    e.preventDefault();
    console.log("Submitted:", name);
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        value={name} // value → state
        onChange={(e) => setName(e.target.value)} // state আপডেট
        placeholder="নাম"
      />
      <button type="submit">Save</button>
    </form>
  );
}

FormData — uncontrolled

FormData থেকে পড়াjsx
jsx
function SearchForm() {
  const handleSubmit = (e) => {
    e.preventDefault();
    const formData = new FormData(e.target);
    console.log(formData.get("query")); // input-এর name থেকে
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" name="query" defaultValue="" />
      <button>Search</button>
    </form>
  );
}

React 19 — form action

Action + useActionStatejsx
jsx
import { useActionState } from "react";

async function submitMessage(prevState, formData) {
  await saveMessage(formData.get("message"));
  return { ok: true, message: "Saved!" };
}

function MessageForm() {
  const [state, action, pending] = useActionState(submitMessage, null);

  return (
    <form action={action}>
      <textarea name="message" required />
      <button disabled={pending}>
        {pending ? "সাবমিট হচ্ছে…" : "Submit"}
      </button>
      {state?.message && <p>{state.message}</p>}
    </form>
  );
}

Select ও Checkbox

Select/checkbox controlledjsx
jsx
const [city, setCity] = useState("dhaka");
const [agree, setAgree] = useState(false);

<select value={city} onChange={(e) => setCity(e.target.value)}>
  <option value="dhaka">ঢাকা</option>
  <option value="ctg">চট্টগ্রাম</option>
</select>

<label>
  <input
    type="checkbox"
    checked={agree}
    onChange={(e) => setAgree(e.target.checked)}
  />
  আমি সম্মত
</label>
Controlled vs Uncontrolled

সব field-কে state-তে রাখা (controlled) বেশি নিয়ন্ত্রণ দেয়, কিন্তু প্রতিটি keystroke-এ re-render হয়। অনেক field থাকলে FormData/action ও defaultValue হালকা — অবস্থা অনুযায়ী বাছুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরState ও useStateপরেরState Lifting ও Props শেয়ার
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com