نمط Render Props
مرّر دالة كخاصية تُرجع JSX لمشاركة السلوك دون ربطه بواجهة المستخدم.
نمط Render Props درس مجاني في React Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
ما هو Render Props؟
<DataProvider render={data => <UserCard user={data} />} />مثال بسيط على Render Prop
function Toggle({ render }) {
const [on, setOn] = useState(false);
return render(on, () => setOn(!on));
}
<Toggle render={(on, toggle) => (
<button onClick={toggle}>{on ? 'Close' : 'Open'}</button>
)} />استخدام children باعتبارها Render Prop
<Toggle>
{(on, toggle) => (
<div>
{on && <Panel />}
<button onClick={toggle}>Toggle</button>
</div>
)}
</Toggle>تتبّع موضع مؤشر الفأرة
function MouseTracker({ children }) {
const [pos, setPos] = useState({ x: 0, y: 0 });
return (
<div onMouseMove={e => setPos({ x: e.clientX, y: e.clientY })}>
{children(pos)}
</div>
);
}Render Props مقابل Custom Hooks
// Old: render props
<Mouse render={pos => <p>{pos.x}</p>} />
// Modern: custom hook
const pos = useMouse();
<p>{pos.x}</p>متى يظل Render Props مناسبًا
تحذير بشأن الأداء
// Avoid: new function every render
<Toggle render={pos => <Dot pos={pos} />} />
// Better: stable reference
const renderDot = pos => <Dot pos={pos} />;
<Toggle render={renderDot} />تركيب Render Props
Render Props في المكتبات
اختبار سريع
مراجعة
التالي
الأسئلة الشائعة
هل درس «نمط Render Props» مجاني؟
نعم — نص درس «نمط Render Props» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «نمط Render Props»؟
مرّر دالة كخاصية تُرجع JSX لمشاركة السلوك دون ربطه بواجهة المستخدم. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «نمط Render Props»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- نمط Render Props
- شرح المكوّنات عالية الرتبة (HOCs)
- HOC مقابل Render Props مقابل Custom Hooks
- إعادة هيكلة HOC إلى Custom Hook