تقييم الدرس 7
Redux Toolkit: مخزن واحد للتطبيق
أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس
أسئلة التقييم
تقييم الدرس 7: Redux Toolkit: مخزن واحد للتطبيق. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) الطريقة الموصى بها اليوم لكتابة
Redux:2) ما الذي يولّده
createSlice تلقائيًّا؟3) أي سطر يرسل فعل الإضافة بشكل صحيح؟
4) في المخزن
{ reducer: { cart: cartReducer } } نقرأ العناصر بـ:5) ما ما يقابل
Redux في عالم Vue حسب الخطة؟2السؤال الثاني: صح أم خطأ
1) المكوّن الذي يستخدم
useSelector يجب أن يكون داخل Provider.الصواب: صح
2) يجوز
state.items.push(x) داخل مخفّضات createSlice.الصواب: صح
3) يجوز
list.push(x) لتحديث حالة useState.الصواب: خطأ
4) الأفضل تخزين الإجمالي في المخزن وتحديثه يدويًّا مع كل تغيير.
الصواب: خطأ
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
1) لإنشاء المخزن في
Redux Toolkit نستدعي .الإجابة: configureStore
2) المكتبة التي تسمح بأسلوب التعديل داخل
createSlice اسمها .الإجابة: Immer
3) الدوال التي تختار وتحسب من الحالة تسمى .
الإجابة: المحدِّدات Selectors
4السؤال الرابع: أسئلة عملية
1) ما النص الذي يظهر؟
import { createSlice } from '@reduxjs/toolkit';const s = createSlice({ name: 'todo', initialState: [], reducers: { add(st, a) { st.push(a.payload); } } });export default function App() { return <p>{s.actions.add('x').type}</p>;}
الناتج الصحيح:
todo/add
2) ما النص الذي يظهر؟
import { createSlice } from '@reduxjs/toolkit';const s = createSlice({ name: 'c', initialState: { n: 1 }, reducers: { inc(st) { st.n++; } } });let st = s.reducer(undefined, { type: 'init' });st = s.reducer(st, s.actions.inc());st = s.reducer(st, s.actions.inc());export default function App() { return <p>{st.n}</p>;}
الناتج الصحيح:
3
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».