انتقل إلى محتوى الدرس

Single State Object for Forms كائن حالة موحد لحقول النموذج

نظّم النماذج متعددة الحقول في كائن حالة موحد، وأجّل رسائل التحقق بحدث onBlur وتتبع اللمس مع سمات الإتاحة القياسية، وافصل بين تحسين الواجهة وأمان الخادم.
3 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عندما يتوسع نموذج التسجيل أو الدفع ليضم خمسة أو عشرة حقول، يصبح تعريف عشرة متغيرات useState() منفصلة وعشر دوال معالجة متشابهة عبئاً يضعف مقروئية المكون. الحل الهندسي النظيف هو جمع حقول النموذج المترابطة في كائن حالة واحد.

امنح كل حقل خاصية name مطابقة لمفتاحه في الكائن، واستخدم معالج تغيير موحداً يعتمد خاصية المفتاح المحسوب: setForm((prev) => ({ ...prev, [name]: nextValue })).

الصف 2 كود برمجي
HTML
function handleChange(e) {
  const { name, type, value, checked } = e.target;
  setForm((prev) => ({
    ...prev,
    [name]: type === 'checkbox' ? checked : value,
  }));
}
الصف 3 ملاحظة هامة