Action Design تصميم الإجراءات

آخر تحديث: 2026-11-03

Action Design تصميم الإجراءات

الإجراء كائن عادي يصف ما حدث: نوعه هو الهوية، وهو عادةً ثابت بأحرف كبيرة، وحمولته تحمل البيانات. ويحوّل تصميم الإجراءات الجيد المُقلِّل إلى شيء مقروء كدليل مفاتيح switch، ويجعل تدفّق الحالة قابلاً للتتبّع والإعادة في DevTools. ولأن الإجراءات بيانات عادية، فإنها تنجو من التسلسل، وهذا بالضبط ما يجعل التسجيل والتصحيح والسفر عبر الزمن ممكناً.

المجموعةالآثار الجانبية والأداء
النوعنمط

ℹ️ ملاحظة يحوّل المحرّر JSX إلى JavaScript ويعرض الواجهة الحقيقية داخل بيئة معزولة؛ تُركَّب المكوّنات تلقائياً دون استدعاء render يدوي.

📝 الصيغة

// { type: 'todo/added', payload: 'buy milk' }
const addTodo = text => ({ type: 'todo/added', payload: text })
const toggleTodo = id => ({ type: 'todo/toggled', payload: id })

dispatch(addTodo('buy milk'))    // صانع الإجراء يبني الكائن

القيمة المرجعة:لا قيمة معادة؛ فهذه المدخلات تصف نمط برمجة لا دالة.

▶ مثال

المثال يعمل مباشرة: يُعرض تلقائياً عند التوسيع وتظهر التعديلات فوراً.

الناتج:

اكتب نصاً واضغط «Add» لإنشاء مهمة؛ والضغط على عنصر يبدّل حالة إنجازه (مع خط يمرّ فوقه) — وكل تغيير يقوده أحد الإجراءين: added و toggled.

💡 النقاط الأساسية

💡 نصيحة صانع الإجراء مثل addTodo(text) يجمع شكل الإجراء في مكان واحد، فلا يحتاج المستدعيون إلى تركيب الكائن يدوياً.
ℹ️ ملاحظة سمِّ النوع بعد المجال والفعل، مثل todo/added؛ فيُقرأ جيداً في DevTools ويصبح التصفية بالبادئة سهلة.
⚠️ تحذير لا تضع في الإجراء سوى بيانات قابلة للتسلسل (الحمولة)، ولا تضع دالة استجابة ولا نسخة مكوّن أبداً.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س هل صانعو الإجراءات إلزاميون؟
ج لا، فإرسال كائن مباشرة يعمل أيضاً؛ لكن مع تعدّد الإجراءات أو تعقّد الشكل يبقي الصانع البنية متسقة ويمنع الأخطاء الإملائية.
س هل يمكن أن تحمل الحمولة دالة؟
ج ينبغي ألا تفعل. فالإجراء وصف بيانات خالص، والدوال تكسر قابلية التسلسل وإمكانية إعادة تشغيل الحالة.
س هل يجب تعريف أنواع الإجراءات في مكان واحد؟
ج في مشروع صغير يمكنك تصدير الثوابت من أعلى ملف المُقلِّل؛ وفي مشروع معياري عرّفها بجوار مجالها وبادئة مميّزة لتفادي التصادم.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%