نمط محدد السياق
نفّذ hook بسيطًا للمحدد يعيد التصيير فقط عند تغير جزء من السياق.
نمط محدد السياق درس مجاني في React Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة المحدد
ما المحدد؟
Hook محدد بسيط
function useAppSelector(selector) {
const state = useContext(AppCtx);
return useMemo(() => selector(state), [state, selector]);
}
// Consumer only re-renders when user.name changes
const name = useAppSelector(s => s.user.name);فحص المساواة السطحية
import { useRef } from 'react';
function useSelector(selector) {
const state = useContext(AppCtx);
const selected = selector(state);
const ref = useRef(selected);
if (!shallowEqual(ref.current, selected)) {
ref.current = selected;
}
return ref.current;
}مكتبة use-context-selector
import { useContextSelector } from 'use-context-selector';
const name = useContextSelector(AppCtx, s => s.user.name);Zustand كحل أصلي للمحددات
const name = useAppStore(state => state.user.name);متى تكون المحددات مبالغة
حفظ دوال المحددات مؤقتًا
// Outside component — stable reference
const selectName = s => s.user.name;
function Profile() {
const name = useAppSelector(selectName);
return <p>{name}</p>;
}المحددات المشتقة
const selectFullName = s => s.user.firstName + ' ' + s.user.lastName;تحقق سريع
مراجعة
التالي
الأسئلة الشائعة
هل درس «نمط محدد السياق» مجاني؟
نعم — نص درس «نمط محدد السياق» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «نمط محدد السياق»؟
نفّذ hook بسيطًا للمحدد يعيد التصيير فقط عند تغير جزء من السياق. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «نمط محدد السياق»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تقسيم السياقات للحد من إعادة التصيير
- حفظ قيم السياق مؤقتًا باستخدام useMemo
- نمط محدد السياق
- متى لا تستخدم Context