أدوات React.Children
استخدموا React.Children.map وcount وtoArray لمعالجة children بأمان
أدوات React.Children درس مجاني في React Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة استخدام أساليب المصفوفات مباشرة
// Unsafe — crashes if children is a single element
children.map(c => ...);
// Safe
React.Children.map(children, c => ...);React.Children.map
function List({ children }) {
return (
<ul>
{React.Children.map(children, (child, i) => (
<li key={i}>{child}</li>
))}
</ul>
);
}React.Children.count
function RequiresTwo({ children }) {
if (React.Children.count(children) !== 2) {
throw new Error('Exactly two children required');
}
return <div>{children}</div>;
}React.Children.toArray
function Reversed({ children }) {
const arr = React.Children.toArray(children);
return <>{arr.reverse()}</>;
}React.Children.forEach
React.Children.forEach(children, child => {
if (!React.isValidElement(child)) {
console.warn('Non-element child found');
}
});React.Children.only
function SingleChild({ children }) {
const child = React.Children.only(children);
return React.cloneElement(child, { 'data-wrapped': true });
}التحقق من أنواع children
React.Children.forEach(children, child => {
if (child.type !== TabPanel) {
throw new Error('Only TabPanel children allowed');
}
});React.Children مقابل Array.from
بديل حديث: التسطيح باستخدام toArray
const items = React.Children.toArray(children);
const first = items[0];
const rest = items.slice(1);اختبار سريع
مراجعة
التالي
الأسئلة الشائعة
هل درس «أدوات React.Children» مجاني؟
نعم — نص درس «أدوات React.Children» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «أدوات React.Children»؟
استخدموا React.Children.map وcount وtoArray لمعالجة children بأمان تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أدوات React.Children»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات props.children
- أدوات React.Children
- الخانات المسمّاة عبر Props من نوع Object
- استنساخ Props وحقنها باستخدام cloneElement