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

Trimming and Resetting Inputs تنظيف النص وتصفير الحقول

أتقن بناء حقول الإدخال النصية ومساحات الكتابة المحكومة بالحالة في React، واربط التسميات التوضيحية بخطاف useId القياسي مع معالجة إرسال النماذج وتنظيف المدخلات.
4 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

كثيراً ما يترك المستخدم مسافات فارغة في بداية النص أو نهايته قبل ضغط الإرسال؛ لذا نظّف النص عبر title.trim() داخل دالة الإرسال للتحقق من عدم فراغه، مع ترك الكتابة حرة داخل onChange حتى يتمكن المستخدم من كتابة المسافات بين الكلمات بسلاسة.

وبعد نجاح الحفظ، استدعِ دالة تحديث الحالة بنص فارغ مثل setTitle('') لتصفير الحقل فوراً واستقبال الإدخال التالي. يلخص الجدول التالي الفروق الأساسية:

الجانب الهندسيالحقل المحكوم في Reactالحقل غير المحكوم التقليدي
مصدر الحقيقة للبياناتحالة المكون عبر خاصية value={state}الذاكرة الداخلية لعقدة المتصفح
آلية التحديث اللحظيحدث onChange يستدعي دالة تحديث الحالةيحدث المتصفح قيمة الحقل داخلياً بصمت
تصفير الحقل برمجياًتمرير نص فارغ لدالة الحالة مباشرةيتطلب استدعاء أوامر DOM يدوية
التنسيق والعدادات الحيةمتاح تلقائياً في كل إعادة تصييريستلزم مستمعات أحداث وتعديلات يدوية
الصف 2 كود برمجي
HTML
function QuickTaskForm() {
  const [task, setTask] = useState('');
  const [items, setItems] = useState(['Learn useId']);
  function handleSubmit(e) {
    e.preventDefault();
    if (!task.trim()) return;
    setItems([...items, task.trim()]);
    setTask('');
  }
  return <form onSubmit={handleSubmit}>...</form>;
}
الصف 3 ملاحظة هامة
الصف 4 ملاحظة هامة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعلمت في هذا الدرس بناء الحقول النصية ومساحات الكتابة المحكومة بالحالة كمصدر وحيد للحقيقة، وربط التسميات التوضيحية بأمان عبر خطاف useId، ومعالجة إرسال النماذج بحدث onSubmit مع تنظيف النص وتصفير الحقول. الخطوة التالية: انتقل الآن إلى الدرس رقم 23 «التعامل مع القوائم المنسدلة وخانات الاختيار في React» لمواصلة البناء التراكمي المتدرج في مسار React الحديث.