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

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