في React، يكون المكوّن بمثابة لبنة بناء لواجهة المستخدم (UI). فكر في الأمر على أنه جزء صغير من التعليمات البرمجية قابل لإعادة الاستخدام يحدد كيف يجب أن يبدو ويتصرف جزء معين من صفحتك. تسمح هذه المكونات للمطورين ببناء واجهة مستخدم معقدة من خلال الجمع بين أجزاء بسيطة ومستقلة وقابلة لإعادة الاستخدام.
بشكل عام، المكونات هي في الأساس أجزاء مستقلة وقابلة لإعادة الاستخدام من واجهة المستخدم والتي يمكن اعتبارها وظائف تعرض جزءًا من واجهة المستخدم.
أعلم أنه قد يكون هناك بعض التضارب حول الكلمات "القطع المستقلة والقابلة لإعادة الاستخدام والعروض".
دعونا نثبت واحدًا تلو الآخر من خلال تحديد المكونات. انتبه!؟ لقد نسيت أنك لا تعرف كيفية تحديد مكون بسيط. لا تقلق أنا هنا؟ لتحطيم كل الأشياء. لذلك دعونا نتعمق-؟
لنفترض أنك تقوم بتطوير تطبيق للتجارة الإلكترونية. في التطبيق في أماكن متعددة أو صفحات متعددة، تحتاج إلى تقديم نفس بطاقة المنتج. العرض يعني الاستجابة لواجهة المستخدم.
الآن هو وقتك؟ للتفكير؟ كيف يمكنك عرض بطاقة المنتج في تطبيقك في صفحات متعددة.
تقليديًا، عند إنشاء صفحات الويب، يقوم المطورون بترميز المحتوى الخاص بهم وإضافة التفاعل عن طريق رش بعض جافا سكريبت. لقد نجح هذا بشكل رائع عندما لم يتم استبدال الصفحات المتعددة التي تم ترميزها بنفسها في صفحات متعددة ليس كثيرًا مما يجعلك تشعر بالملل أحيانًا وفي نفس الوقت مرهقًا بالإضافة إلى صعوبة تصحيح الأخطاء وإدارتها. لذا، هناك فرصة لكسر نظامك الكود وقد يكون من الصعب إدارته.
هنا سوف تكتشف جمال بنية مكونات React. يتيح لك React إنشاء مكون واستخدام أي عدد تريده من الأماكن أو بقدر ما تريد.
// === Reminder === Components are regular javascript functions that can sprinkled with javascript
function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
دعونا نكسرها-
الخطوة 1: قم بتعريف وظيفة جافا سكريبت بسيطة كاسم ProductCard
الخطوة 2: يقوم المكون/الوظيفة بإرجاع علامة
// === Reminder === All tags must return under a parent tag or using a react fragment(>)
// === Reminder === React component name must start with a capital letter otherwise it won't treated as a component
يقوم مكون ProductCard بإرجاع علامة div مع h1، h2، p، أو بعض العلامات الضرورية الأخرى المكتوبة مثل HTML، ولكنها Javascript تحت الغطاء. يسمى بناء الجملة JSX(javascript XML). لا تقلق سأشرح ذلك لاحقا.
// === Reminder === JSX is a syntax extension for javascript that lets you write HTML-like markup inside a javascript file which handles the logic of rendering and markup live together in the same place as components.
الآن أصبح المكون الخاص بك جاهزًا للاستخدام. على سبيل المثال، لديك صفحة منتج ويجب عليك عرض بعض المنتجات.
//Products.js or jsx file function ProductCard(){ return() } function ProductPage(){ return(title of the product
price of the product
description of the product
// rest of info) } product page
سيعرض متصفحك 3 مرات بطاقة ProductCard مما يعني أن 3 بطاقات منتج كانت مرئية للمتصفح.
حتى الان جيدة جدا؟. لقد نجحنا في تقديم بطاقة المنتجات إلى صفحة المنتج.
حان الوقت لتنظيم الكود:
قد يكون لديك مكون واحد أو أكثر مثل ProductCard، أو ProductReviewCard، أو SameProductCard، وما إلى ذلك. لذا، قد يكون من الصعب الإعلان عن جميع المكونات وإدارتها في ملف واحد. لذلك، دعونا نجعل الأمر أكثر تنظيمًا للإدارة باستخدام بنية الملف فقط.
لنقم بإنشاء مجلد قابل لإعادة الاستخدام نظرًا لاحتمال استخدام ProductCard من صفحات متعددة. داخل المجلد القابل لإعادة الاستخدام، قم بإنشاء ملف ProductCard.js/jsx.
//reusable/ProductCard.js or jsx file function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
الآن هناك نقطة إذا قمت بفصل مكون ProductCard عن كيفية استخدامه من ملف ProductPage. أعلم أنك ربما تكون قد فهمت بالفعل نعم، يمكننا تصدير وظيفة ProductCard من ProductCardfile حسب الاسم أو الافتراضي الذي تفضله بالفعل.
//reusable/ProductCard.js or jsx file export default function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
الآن أصبح قابلاً للاستخدام من ملف ProductPage. فقط قم باستيراد ProductCard من ملف ProductPagefile ثم استخدمه بقدر ما تريد.
//ProductPage.js or jsx file import ProducrCard from './reusable/ProductCard.js' function ProductPage(){ return() } product page
لقد ذكرت سابقًا لماذا يجب استخدام المكون من أجل إعادة الاستخدام، وفصل الاهتمامات، والنمطية.
بعد كل هذا، لقد فهمت أنه يمكنك تداخل المكون الخاص بك أيضًا.
حسنًا، دعونا نلقي نظرة مرة أخرى-؟
إنشاء مجلد تخطيط
قم بإنشاء مجلد Header ضمن مجلد Layout ثم قم بإنشاء ملف Index.js داخل مجلد Header
export default function Header(){ return() } Header
create `Footer` folder under the `Layout` folder then create `index.js` file inside `Footer` folder export default function Footer(){ return() } Footer
الآن قم بإنشاء ملف Index.js ضمن مجلد التخطيط
import Header from './Header'; import Footer from './Footer'; export default function Layout(){ return() } page content
أتمنى أن تكون قد اكتشفت بالفعل جمال بنية مكونات التفاعل. لقد بدأ هذا للتو وحاول تنمية الاهتمام داخل عقلك.
برمجة سعيدة؟؟
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3