كيفية تغيير قيمة السياق (Context) في React
مشكلة تغيير قيمة السياق
عند إنشاء سياق باستخدام createContext، يمكنك تحديد قيمة افتراضية:
هذه القيمة الافتراضية لا تتغير. React يستخدم هذه القيمة فقط كملاذ أخير إذا لم يجد مزود سياق (Provider) مطابق في الشجرة فوق المكون الذي يقرأ السياق.
كيفية جعل قيمة السياق تتغير بمرور الوقت
لتغيير قيمة السياق بمرور الوقت، يجب إضافة حالة (state) وتغليف المكونات في مزود سياق (Context Provider).
خطوات الحل
- إنشاء حالة (state): استخدم useStateلإنشاء حالة يمكن تغييرها.
- تغليف المكونات في مزود سياق: استخدم Providerلتوفير قيمة السياق الديناميكية.
مثال عملي
1. إنشاء السياق
2. مكون App
الشرح
- إنشاء حالة (state): قمنا بإنشاء حالتين themeوcurrentUserباستخدامuseState.
- تغليف المكونات في مزود سياق: استخدمنا ThemeContext.ProviderوAuthContext.Providerلتوفير القيم الديناميكية للمكونات الفرعية.
قراءة وتغيير قيمة السياق
1. قراءة قيمة السياق
يمكنك قراءة قيمة السياق باستخدام useContext:
2. تغيير قيمة السياق
لتغيير قيمة السياق، يمكنك استخدام الدالة المخصصة لتغيير الحالة (setState):
الشرح التفصيلي
- قراءة قيمة السياق: استخدمنا useContextلقراءة قيمة السياق في مكونButton.
- تغيير قيمة السياق: استخدمنا useContextلقراءة وتغيير قيمة السياق في مكونThemeSwitcher.
بهذا الشكل، يمكنك تغيير قيمة السياق بمرور الوقت وجعلها ديناميكية.
 
تعليقات
إرسال تعليق