تقسيم السياقات للحد من إعادة التصيير
افصل القيم التي تتغير باستمرار عن القيم المستقرة وضع كل مجموعة في سياق مختلف.
تقسيم السياقات للحد من إعادة التصيير درس مجاني في React Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.
مرحبًا
مشكلة إعادة التصيير مع السياق
التقسيم حسب تكرار التحديث
const ThemeCtx = createContext('light');
const UserCtx = createContext(null);
// theme changes rarely; user changes on login/logout — same frequency is fine
// but notifCount changes every second — split it out!فصل سياقي البيانات وDispatch
const CountCtx = createContext(0);
const SetCountCtx = createContext(() => {});
function Provider({ children }) {
const [count, setCount] = useState(0);
return (
<CountCtx.Provider value={count}>
<SetCountCtx.Provider value={setCount}>
{children}
</SetCountCtx.Provider>
</CountCtx.Provider>
);
}حفظ سياق Dispatch مؤقتًا
const actions = useMemo(() => ({
increment: () => setCount(c => c + 1),
reset: () => setCount(0),
}), []); // stable — empty depsالموفّرون المتداخلون
function App() {
return (
<AuthProvider>
<ThemeProvider>
<NotificationsProvider>
<Router />
</NotificationsProvider>
</ThemeProvider>
</AuthProvider>
);
}تحليل الأداء قبل التقسيم
مقايضات تقسيم السياق
الدمج مع React.memo
const ExpensiveChild = React.memo(function({ label }) {
return <div>{label}</div>;
}); // won't re-render on context change if label hasn't changeduseReducer + السياق
تحقق سريع
مراجعة
التالي
تعلم React مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 88
- الدروس
- 324
الأسئلة الشائعة
هل درس «تقسيم السياقات للحد من إعادة التصيير» مجاني؟
نعم — نص درس «تقسيم السياقات للحد من إعادة التصيير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.
ماذا ستتعلم في «تقسيم السياقات للحد من إعادة التصيير»؟
افصل القيم التي تتغير باستمرار عن القيم المستقرة وضع كل مجموعة في سياق مختلف. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟
لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «تقسيم السياقات للحد من إعادة التصيير»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟
نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تقسيم السياقات للحد من إعادة التصيير
- حفظ قيم السياق مؤقتًا باستخدام useMemo
- نمط محدد السياق
- متى لا تستخدم Context