تقييم الدرس 6
تدفق البيانات بـ useReducer
أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس
أسئلة التقييم
تقييم الدرس 6: تدفق البيانات بـ useReducer. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».
1السؤال الأول: اختر الإجابة الصحيحة
1) ماذا يستقبل المخفّض؟
2) أي مما يلي لا يجوز داخل المخفّض؟
3) في
useReducer(reducer, { count: 0 }) القيمة الثانية هي:4) ماذا يظهر أول مرة؟
import { useReducer } from 'react';function r(s, a) { return a.type === 'inc' ? s + 1 : s;}export default function App() { const [n] = useReducer(r, 5); return <p>{n}</p>;}
5) الفعل
action هو غالبًا:2السؤال الثاني: صح أم خطأ
1) المخفّض دالة نقية: نفس المدخلات تعطي نفس الناتج.
الصواب: صح
2) يجوز أن يعدّل المخفّض الحالة بـ
push ثم يعيدها.الصواب: خطأ
3) يمكن اختبار المخفّض دون رسم أي مكوّن.
الصواب: صح
4)
useReducer أنسب دائمًا من useState حتى للقيم البسيطة.الصواب: خطأ
3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة
1) الدالة التي تسلّم الفعل للمخفّض اسمها .
الإجابة: dispatch
2) الخاصية التي تحدد نوع الفعل اسمها عادةً .
الإجابة: type
3) فكرة المخفّض هي أساس مكتبة .
الإجابة: Redux
4السؤال الرابع: أسئلة عملية
1) ما النص الذي يظهر؟
function r(s, a) { switch (a.type) { case 'add': return s + a.n; case 'double': return s * 2; default: return s; }}let s = 1;s = r(s, { type: 'add', n: 4 });s = r(s, { type: 'double' });s = r(s, { type: 'oops' });export default function App() { return <p>{s}</p>;}
الناتج الصحيح:
10
2) ما النص الذي يظهر؟
function r(list, a) { return a.type === 'add' ? [...list, a.x] : list.filter(v => v !== a.x);}let l = ['أ'];l = r(l, { type: 'add', x: 'ب' });l = r(l, { type: 'add', x: 'ج' });l = r(l, { type: 'remove', x: 'أ' });export default function App() { return <p>{l.join('-')}</p>;}
الناتج الصحيح:
ب-ج
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».