فهم العرض الشرطي في React (دليل 2025)

تم التحديث: ١٥ سبتمبر ٢٠٢٥

Understanding Conditional Rendering in React (2025 Guide)

العرض الشرطي مفهوم أساسي في React يسمح للمكونات بعرض عناصر مختلفة بناءً على شرط معين. فكر فيه كطريقة React للقول: “إذا كان هذا الشرط صحيحًا، اعرض هذا؛ وإلا، اعرض شيئًا آخر.”


العامل المنطقي AND (&&) Operator

العامل المنطقي AND مفيد عندما تريد عرض شيء فقط إذا كان الشرط صحيحًا.

function Greeting({ isLoggedIn }) {
  return (
    <div>
      <h1>Welcome to React!</h1>
      {isLoggedIn && <p>You are logged in.</p>}
    </div>
  );
}
  • إذا كان isLoggedIn true, فإن React سيعرض العنصر <p>.
  • إذا كان isLoggedIn false, لا يتم عرض شيء.

⚠️ نصيحة: كن حذرًا عند استخدام الأرقام مع &&. على سبيل المثال، 0 && <p>Text</p> سيعرض 0, وقد لا يكون ذلك ما تتوقعه.

➡️ صورة مقترحة: /images/React-conditional-rendering-and-example.png (لقطة شاشة للرمز + الناتج).


العامل الثلاثي (condition ? trueCase : falseCase)

العامل الثلاثي هو الأفضل عندما تريد اختيار بين خيارين.

function UserStatus({ isLoggedIn }) {
  return (
    <div>
      {isLoggedIn ? <p>Welcome back!</p> : <p>Please log in.</p>}
    </div>
  );
}
  • إذا كان isLoggedIn true, سيتم عرض “Welcome back!”.
  • خلاف ذلك، سيتم عرض “Please log in.”.

👉 أفضل ممارسة: استخدم العوامل الثلاثية فقط لـ حالتين. إذا وجدت نفسك تقوم بتقديم عدة عوامل ثلاثية متداخلة، فاستخدم if...else أو switch لتحسين القراءة.

➡️ صورة مقترحة: /images/React-conditional-rendering-ternary-example.png (كود العامل الثلاثي والنتيجة جنبًا إلى جنب).


if...else و switch

للحالات الأكثر تعقيدًا، قم بمعالجة المنطق قبل عبارة return في المكون الخاص بك:

function AccessLevel({ role }) {
  let message;

  if (role === "admin") {
    message = "You have full access.";
  } else if (role === "editor") {
    message = "You can edit content.";
  } else {
    message = "View-only access.";
  }

  return <p>{message}</p>;
}

أو مع switch:

function AccessLevel({ role }) {
  switch (role) {
    case "admin":
      return <p>You have full access.</p>;
    case "editor":
      return <p>You can edit content.</p>;
    default:
      return <p>View-only access.</p>;
  }
}

➡️ الصورة المقترحة: /images/React-conditional-rendering-if-switch.png (مخطط تدفق يظهر منطق التفرع).


البدائل الحديثة (2025+)

مع React 18 وما بعده:

  • استخدم إرجاع مبكر لتبسيط العرض الشرطي.
  • دمج مع السلسلة الاختيارية (?.) للوصول الآمن إلى الخصائص المتداخلة بعمق.
  • استغل تركيب المكونات لتجنب الشروط المتداخلة بعمق.

مثال مع إرجاع مبكر:

function Profile({ user }) {
  if (!user) {
    return <p>Loading...</p>;
  }
  return <h2>{user.name}</h2>;
}

➡️ الصورة المقترحة: /images/React-conditional-rendering-early-return.png (لقطة شاشة للكود البسيط + واجهة "Loading...").


الخاتمة

العرض الشرطي هو حجر الزاوية في تطوير React.

  • استخدم && للتحققات البسيطة من جانب واحد.
  • استخدم الشرط الثلاثي لخيارين.
  • استخدم if/else أو switch للسيناريوهات الأكثر تعقيدًا.


نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.