طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 242 · أطر الويب
تقييم الدرس 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
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس