فهرست سرفصل‌های 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 — پراپس children (Props Children)

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

پراپس children (Props Children)

در React، پراپس children راه فرستادن محتوای بین دو تگ است. یعنی چیزهایی که بین تگ باز و بسته یک کامپوننت می نویسی، به خود آن کامپوننت تحویل داده می شود.

پراپس children در React چیست؟

کامپوننت (Component) یعنی یک تکه رابط کاربری تکراری؛ مثل یک کارت آماده. پراپس children در React متنی است که بین تگ باز و بسته کامپوننت قرار می دهی و داخل خود کامپوننت با props.children به آن دسترسی داری.

مثل وقتی در مدرسه روی جلد دفتر اسم می نویسی و داخل دفتر متن می نویسی. اسم شبیه پراپس معمولی است و متن داخل دفتر شبیه children است.

مثال props.children بین Parent، Son و Daughter

در این مثال، کامپوننت Parent دو فرزند به نام Son و Daughter دارد. متن پاراگراف ها داخل تگ های Son و Daughter نوشته می شود، اما در خود این دو کامپوننت نمایش داده می شود.

function Son(props) {
  return (
    <div style={{ background: 'lightgreen' }}>
      <h2>Son</h2>
      <div>{props.children}</div>
    </div>
  );
}

function Daughter(props) {
  const { brand, model } = props;
  return (
    <div style={{ background: 'lightblue' }}>
      <h2>Daughter</h2>
      <div>{props.children}</div>
    </div>
  );
}

function Parent() {
  return (
    <div>
      <h1>My two Children</h1>
      <Son>
        <p>
          This was written in the Parent component,
          but displayed as a part of the Son component
        </p>
      </Son>
      <Daughter>
        <p>
          This was written in the Parent component,
          but displayed as a part of the Daughter component
        </p>
      </Daughter>
    </div>
  );
}

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

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

متن پاراگراف ها در Parent نوشته شده است. اما با props.children داخل Son و Daughter نمایش داده می شود. یعنی والد محتوا را می نویسد، فرزند آن را نشان می دهد.

چطور props.children کار می کند؟

هر چیزی که بین تگ باز و بسته می نویسی، به عنوان children ارسال می شود. این چیز می تواند متن ساده، تگ HTML، یا حتی کامپوننت دیگر باشد.

در مثال بالا، داخل <Son> ... </Son> یک پاراگراف داریم. این پاراگراف به Son می رسد و با {props.children} همانجا رندر می شود.

گام های عملی برای تمرین props.children

  1. یک کامپوننت ساده مثل Box بساز.
  2. داخل Box از {props.children} در JSX استفاده کن.
  3. در createRoot چند بار Box را با محتوای مختلف صدا بزن.
  4. کد را اجرا کن و ببین هر بار چه محتوایی نمایش داده می شود.

ارتباط props.children با بقیه پراپس ها

در کامپوننت Daughter هم پراپس معمولی داریم، هم props.children. بالای تابع، با دیس ترکچرینگ (Destructuring) brand و model جدا شده اند؛ در عین حال از props.children نیز برای محتوای داخلی استفاده شده است.

این یعنی می توانی همزمان اطلاعات ثابت مثل برند را با پراپس معمولی بفرستی و متن متغیر را با children بسازی. پس پراپس children در React مکمل پراپس های معمولی است.

جمع بندی سریع پراپس children (Props Children)

  • پراپس children در React محتوای بین تگ باز و بسته است.
  • داخل کامپوننت با props.children به این محتوا دسترسی داری.
  • می توانی متن، HTML یا کامپوننت دیگر را به عنوان children بفرستی.
  • کامپوننت والد محتوا را می نویسد، کامپوننت فرزند آن را نمایش می دهد.
  • پراپس children (Props Children) کنار پراپس های معمولی، کد را انعطاف پذیر می کند.