المحددات ومنع إعادة التصيير غير الضرورية
استخرج أجزاء محددة من الحالة عبر المحددات بحيث تعيد المكوّنات التصيير عند الحاجة فقط.
المحددات ومنع إعادة التصيير غير الضرورية درس مجاني في React Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة selector الافتراضي
// Bad: re-renders on every store change
const store = useAppStore();
return <p>{store.user.name}</p>;استخدام selector
// Good: re-renders only when user.name changes
const name = useAppStore(s => s.user.name);
return <p>{name}</p>;التحقق من تساوي المراجع
// Creates a new object every time — always re-renders!
const info = useStore(s => ({ id: s.id, name: s.name }));الإصلاح باستخدام المساواة السطحية
import { shallow } from 'zustand/shallow';
const info = useAppStore(
s => ({ id: s.id, name: s.name }),
shallow // compare by content, not reference
);اختيار قيم متعددة
const { items, loading } = useCartStore(
s => ({ items: s.items, loading: s.loading }),
shallow
);مراجع الإجراءات المستقرة
// Actions are always stable — no shallow needed
const addToCart = useCartStore(s => s.addToCart);مساعد useShallow (Zustand v5+)
import { useShallow } from 'zustand/react/shallow';
const { items, loading } = useCartStore(
useShallow(s => ({ items: s.items, loading: s.loading }))
);دمج selectors
const totalPrice = useCartStore(
s => s.items.reduce((sum, item) => sum + item.price, 0)
);تحليل عمليات إعادة التصيير في Zustand
تحقق سريع
مراجعة
التالي
تعلم React مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 88
- الدروس
- 324
الأسئلة الشائعة
هل درس «المحددات ومنع إعادة التصيير غير الضرورية» مجاني؟
نعم — نص درس «المحددات ومنع إعادة التصيير غير الضرورية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «المحددات ومنع إعادة التصيير غير الضرورية»؟
استخرج أجزاء محددة من الحالة عبر المحددات بحيث تعيد المكوّنات التصيير عند الحاجة فقط. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «المحددات ومنع إعادة التصيير غير الضرورية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إنشاء أول متجر Zustand لك
- المحددات ومنع إعادة التصيير غير الضرورية
- استمرارية الحالة باستخدام Persist Middleware
- أدوات Zustand للمطورين واختبار المتاجر