تقديم الجزء 3

\\\"Learn

يقدم هذا البرنامج التعليمي أحد المفاهيم الأساسية ليس فقط لـ Modulo، ولكن أيضًا للعديد من أطر عمل الويب الحديثة الشائعة، بما في ذلك React.js وVue.js وغيرها. هذا هو مفهوم الدولة.

حتى الآن، كانت مكوناتنا ثابتة وغير متغيرة. لا يمكنهم فعل الكثير. قد تكون مفيدة لإعادة هيكلة HTML إلى المزيد من D.R.Y. (\\\"لا تكرر نفسك\\\")، ومكونات قابلة لإعادة الاستخدام، ولكن ليس أكثر من ذلك بكثير. ولا يمكنهم التحقق من صحة بيانات النموذج أو استخدام واجهات برمجة التطبيقات أو استخدامها في التطبيقات الكاملة. في الواقع، لا يمكن أن يكون لديهم أي نوع من التفاعل على الإطلاق، أو أي ديناميكية أو محتوى متغير. نريد التفاعل في مكوناتنا.

يمكنك التفكير في مفهوم متغيرات الحالة هذه على أنها مثل \\\"دلاء البيانات\\\" أو \\\"الفراغات التي يمكن ملؤها\\\". إنها تسمح لنا \\\"بإعطاء اسم\\\" للإشارة إلى البيانات، مما يسمح بكتابة المزيد من التعليمات البرمجية والقوالب العامة. بهذه الطريقة، يمكن أن يحتوي المكون الخاص بك على محتوى متغير: قم بتغيير الحالة، وشاهد النتيجة!

الخطوة 1: إضافة جزء الدولة

يتم تعريف أجزاء المكونات

State إلى حد كبير مثل Props، باستثناء أنه بدلاً من مجرد إدراج أسماء السمات، يجب توفير القيم الأولية كقيم افتراضية. يمكننا \\\"تحويل\\\" دعائمنا إلى الحالة مثل هذا:

الخطوة 2: قم بتضمين الحالة في القالب الخاص بك

يمكن إدراج

الحالة في القالب تمامًا مثل الدعائم . في الواقع، كل ما يتعين علينا القيام به لجعل المثال السابق يعمل مرة أخرى مع الجزء الجديد State هو تغيير الخاصيات إلى الحالة، كما يلي:

إذا قمت بتنفيذ هاتين الخطوتين بشكل صحيح، فسيظل منشئ القصة الخاص بك يعمل، باستثناء أنه لن يحتاج إلى السمات بعد الآن، لأن البيانات ستأتي من \\\"الحالة\\\". هذا يعني أنك يجب أن تتذكر حذفها من استخدام المكون الموجود في الأسفل، بحيث تبدو كما يلي:

تقديم: توجيهstate.bind

حتى الآن، يمكننا تغيير الحالة يدويًا في الكود المصدري، لكن تطبيقنا لا يزال غير تفاعلي، نظرًا لأن المستخدمين الفعليين (أي غير المبرمجين) لا يمكنهم تغيير الحالة. هذا هو المكان الذي يلعب فيه \\\"الربط\\\"، حيث يكون إدخال المستخدم \\\"مرتبطًا\\\" بالحالة، بحيث يمكن لمستخدمي تطبيقك أيضًا تعديل متغيرات الحالة أثناء استخدام تطبيقك.

من أجل \\\"الربط\\\"، سنحتاج إلى استخدام التوجيه . التوجيه هو نوع من سمات HTML. يمكنك التعرف على التوجيه من خلال تحديد أحرف خاصة معينة في اسم السمة. هناك توجيهات أخرى، لكن في الوقت الحالي، سنهتم بتوجيه واحد فقط: [state.bind].

ماذا يعني هذا؟ سيقوم \\\"بمزامنة\\\" الإدخال مع الحالة بعد كل ضغطة على المفتاح. الارتباط \\\"ثنائي الاتجاه\\\": تعديل الحالة يعدل الإدخال، وتعديل الإدخال يعدل الحالة. على سبيل المثال، هو علامة HTML للإدخال بتوجيه [state.bind]. في هذه الحالة، سيتم \\\"ربط\\\" الإدخال بمتغير الحالة \\\"الحيواني\\\".

الخطوة 3: ربط مدخلاتنا الأولى بالحالة

في حالتنا، لإضافة مدخلات مصنفة مرتبطة بمتغير \\\"حيوان\\\" الحالة، يمكننا القيام بذلك:

الخطوة 4: الانتهاء من ذلك واختباره

الآن، \\\"اشطف وكرر\\\" لجميع المدخلات المتبقية:

إليك كيفية اختبار ذلك: أولاً، تأكد من ملء جميع المدخلات (إذا كان لديك خطأ مطبعي في الاسم، فقد يتسبب ذلك في عدم ظهور ذلك -- تحقق من أدوات التطوير بحثًا عن الأخطاء!). ثم حاول تحرير كل من مدخلاتك المختلفة. هل ترى كيف \\\"يتفاعل\\\" مع كتابتك، ويعيد عرض كل قصة تلقائيًا أثناء كتابة كلمات سخيفة جديدة؟

- مثال كامل

بدمج كل ذلك، نحصل على النتائج (السخيفة) التالية:

الدولة وخارجها

بعض الأفكار: كيف يمكن استخدام ذلك في تطوير واجهة المستخدم؟ فكر في State في تطبيقات الويب اليومية: النماذج، وعلامات التبويب، والواجهات المنبثقة المشروطة... حقًا، أي شيء ديناميكي أو تفاعلي. كل هذه الحالة تتغير. يمكن لـ State الاحتفاظ بفئات CSS وقيم CSS والارتباط بشرائح التمرير وأنواع أخرى من المدخلات وغير ذلك الكثير! بمعنى آخر، لدينا الكثير لنغطيه حول State، ولكننا سنحفظ ذلك للجزء الرابع. تأكد من متابعة المزيد من البرامج التعليمية مثل هذه، وكما هو الحال دائمًا، لا تتردد في طرح الأسئلة أو الاقتراحات في التعليقات.

","image":"http://www.luping.net/uploads/20241015/1728970205670dfdddbcc08.png","datePublished":"2024-11-07T01:50:26+08:00","dateModified":"2024-11-07T01:50:26+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تعلم إدارة الحالة عن طريق إنشاء منشئ قصص (سخيف) (تعلم Modulo.js - الجزء f

تعلم إدارة الحالة عن طريق إنشاء منشئ قصص (سخيف) (تعلم Modulo.js - الجزء f

تم النشر بتاريخ 2024-11-07
تصفح:750

؟ مرحبًا بعودتك! لم أتمكن من التقاط الجزء 1؟ لا تقلق، يمكنك البدء من البداية، أو مجرد الغوص هنا!

تقديم: مكون الويب SillyStory

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

تقديم الجزء 3

Learn state management by making a (silly) story generator (Learn Modulo.js - Part f

يقدم هذا البرنامج التعليمي أحد المفاهيم الأساسية ليس فقط لـ Modulo، ولكن أيضًا للعديد من أطر عمل الويب الحديثة الشائعة، بما في ذلك React.js وVue.js وغيرها. هذا هو مفهوم الدولة.

حتى الآن، كانت مكوناتنا ثابتة وغير متغيرة. لا يمكنهم فعل الكثير. قد تكون مفيدة لإعادة هيكلة HTML إلى المزيد من D.R.Y. ("لا تكرر نفسك")، ومكونات قابلة لإعادة الاستخدام، ولكن ليس أكثر من ذلك بكثير. ولا يمكنهم التحقق من صحة بيانات النموذج أو استخدام واجهات برمجة التطبيقات أو استخدامها في التطبيقات الكاملة. في الواقع، لا يمكن أن يكون لديهم أي نوع من التفاعل على الإطلاق، أو أي ديناميكية أو محتوى متغير. نريد التفاعل في مكوناتنا.

يمكنك التفكير في مفهوم متغيرات الحالة هذه على أنها مثل "دلاء البيانات" أو "الفراغات التي يمكن ملؤها". إنها تسمح لنا "بإعطاء اسم" للإشارة إلى البيانات، مما يسمح بكتابة المزيد من التعليمات البرمجية والقوالب العامة. بهذه الطريقة، يمكن أن يحتوي المكون الخاص بك على محتوى متغير: قم بتغيير الحالة، وشاهد النتيجة!

الخطوة 1: إضافة جزء الدولة

يتم تعريف أجزاء المكونات

State إلى حد كبير مثل Props، باستثناء أنه بدلاً من مجرد إدراج أسماء السمات، يجب توفير القيم الأولية كقيم افتراضية. يمكننا "تحويل" دعائمنا إلى الحالة مثل هذا:

الخطوة 2: قم بتضمين الحالة في القالب الخاص بك

يمكن إدراج

الحالة في القالب تمامًا مثل الدعائم . في الواقع، كل ما يتعين علينا القيام به لجعل المثال السابق يعمل مرة أخرى مع الجزء الجديد State هو تغيير الخاصيات إلى الحالة، كما يلي:

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

تقديم: توجيهstate.bind

حتى الآن، يمكننا تغيير الحالة يدويًا في الكود المصدري، لكن تطبيقنا لا يزال غير تفاعلي، نظرًا لأن المستخدمين الفعليين (أي غير المبرمجين) لا يمكنهم تغيير الحالة. هذا هو المكان الذي يلعب فيه "الربط"، حيث يكون إدخال المستخدم "مرتبطًا" بالحالة، بحيث يمكن لمستخدمي تطبيقك أيضًا تعديل متغيرات الحالة أثناء استخدام تطبيقك.

من أجل "الربط"، سنحتاج إلى استخدام التوجيه . التوجيه هو نوع من سمات HTML. يمكنك التعرف على التوجيه من خلال تحديد أحرف خاصة معينة في اسم السمة. هناك توجيهات أخرى، لكن في الوقت الحالي، سنهتم بتوجيه واحد فقط: [state.bind].

ماذا يعني هذا؟ سيقوم "بمزامنة" الإدخال مع الحالة بعد كل ضغطة على المفتاح. الارتباط "ثنائي الاتجاه": تعديل الحالة يعدل الإدخال، وتعديل الإدخال يعدل الحالة. على سبيل المثال، هو علامة HTML للإدخال بتوجيه [state.bind]. في هذه الحالة، سيتم "ربط" الإدخال بمتغير الحالة "الحيواني".

الخطوة 3: ربط مدخلاتنا الأولى بالحالة

في حالتنا، لإضافة مدخلات مصنفة مرتبطة بمتغير "حيوان" الحالة، يمكننا القيام بذلك:

الخطوة 4: الانتهاء من ذلك واختباره

الآن، "اشطف وكرر" لجميع المدخلات المتبقية:

إليك كيفية اختبار ذلك: أولاً، تأكد من ملء جميع المدخلات (إذا كان لديك خطأ مطبعي في الاسم، فقد يتسبب ذلك في عدم ظهور ذلك -- تحقق من أدوات التطوير بحثًا عن الأخطاء!). ثم حاول تحرير كل من مدخلاتك المختلفة. هل ترى كيف "يتفاعل" مع كتابتك، ويعيد عرض كل قصة تلقائيًا أثناء كتابة كلمات سخيفة جديدة؟

- مثال كامل

بدمج كل ذلك، نحصل على النتائج (السخيفة) التالية:

الدولة وخارجها

بعض الأفكار: كيف يمكن استخدام ذلك في تطوير واجهة المستخدم؟ فكر في State في تطبيقات الويب اليومية: النماذج، وعلامات التبويب، والواجهات المنبثقة المشروطة... حقًا، أي شيء ديناميكي أو تفاعلي. كل هذه الحالة تتغير. يمكن لـ State الاحتفاظ بفئات CSS وقيم CSS والارتباط بشرائح التمرير وأنواع أخرى من المدخلات وغير ذلك الكثير! بمعنى آخر، لدينا الكثير لنغطيه حول State، ولكننا سنحفظ ذلك للجزء الرابع. تأكد من متابعة المزيد من البرامج التعليمية مثل هذه، وكما هو الحال دائمًا، لا تتردد في طرح الأسئلة أو الاقتراحات في التعليقات.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/michaelpb/learn-how-to-use-state-by-building-a-silly-story-generator-web-component-learn-modulojs-part-3- of- 10-3gfc?1 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3