الحالة والأحداث في React: useState والتعامل مع النقر والإدخال
درس useState في React بالعربية: ما الحالة ولماذا يعاد العرض، وأحداث النقر والكتابة، والحقول المتحكم بها، والتحديث بالقيمة السابقة.
الحالة (State) بيانات يتذكرها المكون، وعندما تتغير تعيد React رسم الواجهة تلقائيًا.
أول عداد
اضغط «تشغيل» لترى النتيجة هنا.
useState(0) يرجع شيئين: القيمة الحالية، ودالة لتغييرها. لا تكتب count = 5 مباشرة، لأن React لن تعرف بالتغيير.
الأحداث
الأحداث بصيغة camelCase: onClick وonChange وonSubmit وonMouseEnter. وتمرر دالة، لا استدعاء: onClick={save} وليس onClick={save()}.
الحقل المتحكم به
اربط قيمة الحقل بالحالة، فيصبح React مصدر الحقيقة:
اضغط «تشغيل» لترى النتيجة هنا.
التحديث بالقيمة السابقة
عندما تعتمد القيمة الجديدة على القديمة، الأضمن أن تمرر دالة:
اضغط «تشغيل» لترى النتيجة هنا.
جرّب استبدالها بـ setN(n + 1) ثلاث مرات، وستجد أنها تضيف 1 فقط. هذا سؤال شائع في المقابلات.
حالة على شكل كائن
اضغط «تشغيل» لترى النتيجة هنا.
...form تنسخ الكائن القديم ثم نغير حقلًا واحدًا. لا تعدّل الكائن نفسه.
تمرين
- زر يبدّل بين الوضع الليلي والنهاري ويغير لون الخلفية.
- حقل كلمة مرور مع زر «إظهار/إخفاء».