شرح صفوف ومحتوى الفقرة
عندما يتوسع نموذج التسجيل أو الدفع ليضم خمسة أو عشرة حقول، يصبح تعريف عشرة متغيرات useState() منفصلة وعشر دوال معالجة متشابهة عبئاً يضعف مقروئية المكون. الحل الهندسي النظيف هو جمع حقول النموذج المترابطة في كائن حالة واحد.
امنح كل حقل خاصية name مطابقة لمفتاحه في الكائن، واستخدم معالج تغيير موحداً يعتمد خاصية المفتاح المحسوب: setForm((prev) => ({ ...prev, [name]: nextValue })).
HTML
function handleChange(e) {
const { name, type, value, checked } = e.target;
setForm((prev) => ({
...prev,
[name]: type === 'checkbox' ? checked : value,
}));
}