شرح صفوف ومحتوى الفقرة
بدلاً من تعديل الحالة مباشرة داخل الأزرار، ترسل معالجات الأحداث كائن أمر (Action Object) عبر دالة الإرسال. يمثل كائن الأمر سجلاً نصياً صريحاً يحمل خاصية type لوصف الحدث الذي وقع مثل { type: 'incremented' } أو { type: 'reset' }.
تمرر مكتبة React الحالة الراهنة state مع كائن الأمر action إلى دالة reducer(state, action) التي تتولى حساب الحالة التالية وإرجاعها بأمان.
HTML
function counterReducer(state, action) {
if (action.type === 'incremented') {
return { count: state.count + 1 };
}
if (action.type === 'reset') {
return { count: 0 };
}
throw new Error('Unknown: ' + action.type);
}