فهرست سرفصل‌های React
خانه (Home) مقدمه (Intro) شروع کار (Get Started) اولین اپ (First App) رندر HTML (Render HTML) ارتقا (Upgrade) آشنایی با ES6 (ES6) کلاس ها در ES6 (ES6 Classes) توابع پیکانی ES6 (ES6 Arrow Functions) متغیرها در ES6 (ES6 Variables) متد map روی آرایه ها (ES6 Array map()) دیس ترکچرینگ (تقسیم ساختاری) (ES6 Destructuring) عملگر پخش (Spread) (ES6 Spread Operator) ماژول ها در ES6 (ES6 Modules) عملگر سه تایی (Ternary) (ES6 Ternary Operator) رشته های قالبی (Template Strings) (ES6 Template Strings) مقدمه JSX (JSX Intro) عبارت ها در JSX (JSX Expressions) خصیصه ها در JSX (JSX Attributes) شرط ها در JSX (JSX If Statements) کامپوننت ها (Components) کلاس ها (Class) پراپس ها (Props) (Props) دیس ترکچرینگ پراپس ها (Props Destructuring) پراپس children (Props Children) رویدادها (Events) رندر شرطی (Conditionals) لیست ها (Lists) فرم ها (Forms) ارسال فرم (Forms Submit) فیلد Textarea (Textarea) فیلد Select (Select) چند ورودی در فرم (Multiple Inputs) چک باکس (Checkbox) دکمه های رادیویی (Radio) پورتال ها (Portals) Suspense (Suspense) استایل دهی با CSS (CSS Styling) CSS Modules (CSS Modules) CSS-in-JS (CSS-in-JS) مسیریابی (Router) (Router) ترنزیشن ها (Transitions) (Transitions) Forward Ref (Forward Ref) کامپوننت های مرتبه بالاتر (HOC) (HOC) استایل دهی با Sass (Sass) هوکس چیست؟ (What is Hooks?) هوک useState (useState) هوک useEffect (useEffect) هوک useContext (useContext) هوک useRef (useRef) هوک useReducer (useReducer) هوک useCallback (useCallback) هوک useMemo (useMemo) هوک های سفارشی (Custom Hooks) کامپایلر (Compiler) کوئیز (آزمون کوتاه) (Quiz) تمرین ها (Exercises) سیلابس (سرفصل دوره) (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) آمادگی مصاحبه (Interview Prep) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
React

React — فیلد Textarea (Textarea)

آخرین بروزرسانی: 1404/08/24

فیلد Textarea (Textarea)

در فرم ها وقتی متن طولانی می خواهیم، از فیلد Textarea در React استفاده می کنیم. این فیلد شبیه input است اما برای چند خط متن است، مثل توضیح، آدرس یا متن انشا.

تفاوت Textarea در HTML و Textarea در React

در HTML معمولی، متن داخل تگ <textarea> نوشته می شود. یعنی محتوای بین تگ باز و بسته مقدار فیلد است.

<textarea>
  Content of the textarea.
</textarea>

مشاهده در ادیتور

اما در Textarea در React، مقدار داخل attribute به نام value قرار می گیرد. یعنی مثل input با value و onChange کار می کند و یک کامپوننت کنترل شده است.

Textarea در React به عنوان کامپوننت کنترل شده

در React معمولاً مقدار Textarea را داخل state نگه می داریم. state یعنی جایی که داده فعلی کامپوننت ذخیره می شود و با useState ساخته می شود.

در مثال زیر، Textarea در React با value به state وصل شده است. هر تغییری در Textarea، با تابع handleChange state را به روزرسانی می کند.

import { createRoot } from "react-dom/client";
import { useState } from "react";

function MyForm() {
  const [mytxt, setMytxt] = useState("");

  function handleChange(e) {
    setMytxt(e.target.value);
  }

  return (
    <form>
      <label>
        Write here:
        <textarea
          value={mytxt}
          onChange={handleChange}
        />
      </label>
      <p>
        Current value: {mytxt}
      </p>
    </form>
  );
}

createRoot(document.getElementById("root")).render(
  <MyForm />
);

مشاهده در ادیتور

گام به گام کنترل Textarea در React

بیایید Textarea در React را مرحله به مرحله مثل یک بازی رد کنیم.

  1. 1. با useState یک state مثل mytxt می سازیم.
  2. 2. روی Textarea پراپس value را برابر همین state می گذاریم.
  3. 3. روی Textarea یک onChange قرار می دهیم تا تغییرات را بگیرد.
  4. 4. در تابع handleChange مقدار جدید را با setMytxt ذخیره می کنیم.
  5. 5. در خروجی، مقدار را نمایش می دهیم تا ببینیم state همیشه همزمان با Textarea در React است.

اگر دوست داری ارتباط textarea با ارسال فرم را ببینی، بخش ارسال فرم در React را هم حتماً نگاه کن. آن جا می بینی این Textarea در React چطور داخل یک فرم واقعی استفاده می شود.

برای مرور کوتاه، صفحه Textarea در React همیشه نقطه خوبی برای شروع دوباره است.

جمع بندی سریع فیلد Textarea در React

  • در HTML متن بین تگ های <textarea> نوشته می شود.
  • در Textarea در React مقدار با پراپس value کنترل می شود.
  • برای همگام سازی مقدار از useState و onChange استفاده کن.
  • React با این مدل، Textarea را مثل سایر input ها مدیریت می کند.
  • در فرم های طولانی، Textarea در React بهترین گزینه نوشتن توضیحات است.