حفظ قيم السياق مؤقتًا باستخدام useMemo
غلّف كائنات قيم السياق داخل useMemo لمنع إعادة تصيير المستهلكين دون داعٍ.
حفظ قيم السياق مؤقتًا باستخدام useMemo درس مجاني في React Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة مرجع الكائن
// Every render creates a new object!
<UserCtx.Provider value={{ user, logout }}>
{children}
</UserCtx.Provider>الإصلاح باستخدام useMemo
const value = useMemo(
() => ({ user, logout }),
[user, logout]
);
<UserCtx.Provider value={value}>
{children}
</UserCtx.Provider>اختيار التبعيات بعناية
الدوال المستقرة باستخدام useCallback
const logout = useCallback(() => {
clearSession();
setUser(null);
}, []);
const value = useMemo(() => ({ user, logout }), [user, logout]);متى يكون الحفظ المؤقت غير ضروري
القيم البدائية مستقرة بالفعل
// No useMemo needed for primitives
<ThemeCtx.Provider value={isDark ? 'dark' : 'light'}>
{children}
</ThemeCtx.Provider>تحليل أثر الحفظ المؤقت
السياقات المتداخلة المحفوظة مؤقتًا
نمط مكوّن Provider
export function UserProvider({ children }) {
const [user, setUser] = useState(null);
const logout = useCallback(() => setUser(null), []);
const value = useMemo(() => ({ user, logout }), [user, logout]);
return <UserCtx.Provider value={value}>{children}</UserCtx.Provider>;
}
export const useUser = () => useContext(UserCtx);تحقق سريع
مراجعة
التالي
الأسئلة الشائعة
هل درس «حفظ قيم السياق مؤقتًا باستخدام useMemo» مجاني؟
نعم — نص درس «حفظ قيم السياق مؤقتًا باستخدام useMemo» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «حفظ قيم السياق مؤقتًا باستخدام useMemo»؟
غلّف كائنات قيم السياق داخل useMemo لمنع إعادة تصيير المستهلكين دون داعٍ. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «حفظ قيم السياق مؤقتًا باستخدام useMemo»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تقسيم السياقات للحد من إعادة التصيير
- حفظ قيم السياق مؤقتًا باستخدام useMemo
- نمط محدد السياق
- متى لا تستخدم Context