"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > الصورة الكبيرة لمكون التفاعل

الصورة الكبيرة لمكون التفاعل

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

The Big Picture of React Component

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

هناك 3 مخاوف رئيسية وراء سبب استخدام المكونات.

  1. قابلية إعادة الاستخدام
  2. فصل الهموم
  3. النمطية
  • تضمن إمكانية إعادة الاستخدام إنشاء مكون مرة واحدة وإعادة استخدامه عدة مرات عبر تطبيقك.
  • ويضمن فصل الاهتمامات أن يركز كل مكون على جزء معين من واجهة المستخدم، مما يسهل إدارة الكود وصيانته.
  • تضمن الوحدة تقسيم واجهة المستخدم الخاصة بك إلى مكونات صغيرة يمكن التحكم فيها مما يسهل الاختبار والتصحيح والتطوير

دعونا نثبت واحدًا تلو الآخر من خلال تحديد المكونات. انتبه!؟ لقد نسيت أنك لا تعرف كيفية تحديد مكون بسيط. لا تقلق أنا هنا؟ لتحطيم كل الأشياء. لذلك دعونا نتعمق-؟
لنفترض أنك تقوم بتطوير تطبيق للتجارة الإلكترونية. في التطبيق في أماكن متعددة أو صفحات متعددة، تحتاج إلى تقديم نفس بطاقة المنتج. العرض يعني الاستجابة لواجهة المستخدم.
الآن هو وقتك؟ للتفكير؟ كيف يمكنك عرض بطاقة المنتج في تطبيقك في صفحات متعددة.
تقليديًا، عند إنشاء صفحات الويب، يقوم المطورون بترميز المحتوى الخاص بهم وإضافة التفاعل عن طريق رش بعض جافا سكريبت. لقد نجح هذا بشكل رائع عندما لم يتم استبدال الصفحات المتعددة التي تم ترميزها بنفسها في صفحات متعددة ليس كثيرًا مما يجعلك تشعر بالملل أحيانًا وفي نفس الوقت مرهقًا بالإضافة إلى صعوبة تصحيح الأخطاء وإدارتها. لذا، هناك فرصة لكسر نظامك الكود وقد يكون من الصعب إدارته.
هنا سوف تكتشف جمال بنية مكونات 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(
      

title of the product

price of the product

description of the product

// rest of info
) } function ProductPage(){ return(

product page

) }

سيعرض متصفحك 3 مرات بطاقة ProductCard مما يعني أن 3 بطاقات منتج كانت مرئية للمتصفح.

النقطة المهمة هي كيف سيكون رد فعل المتصفح بعد الحصول على رمز ProductPage هذا
  • هو حرف صغير، لذلك تعرف React أنه سيُشير إليه كعلامة HTML
  • يبدأ بحرف P كبير، لذا تعلم React أنه سيتم التعامل معه على أنه مكون.

حتى الان جيدة جدا؟. لقد نجحنا في تقديم بطاقة المنتجات إلى صفحة المنتج.
حان الوقت لتنظيم الكود:
قد يكون لديك مكون واحد أو أكثر مثل 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

) }

لقد ذكرت سابقًا لماذا يجب استخدام المكون من أجل إعادة الاستخدام، وفصل الاهتمامات، والنمطية.

  • أصبح مكون ProductCard الخاص بنا قابلاً لإعادة الاستخدام بالكامل الآن. يمكننا استخدامه من أي مكان.
  • في ProductPage قد يكون هناك أقسام متعددة مثل ProductCard، وProductReviewCard، وSimilarProductCard، وRecommatedProductCard وما إلى ذلك. مما يجعلها تدير وتحافظ على التعليمات البرمجية مع التركيز على قسم منفصل كمكون تلو الآخر وقسم تلو الآخر.
  • بعد كسر واجهة المستخدم كقطعة صغيرة من الأقسام، يصبح من السهل الاختبار والتصحيح والتطوير. يمكننا العثور على الأخطاء/المشكلات بسهولة من المكون المعين في حالة ظهور أخطاء. آمل أن يكون الأمر أكثر وضوحًا الآن؟

بعد كل هذا، لقد فهمت أنه يمكنك تداخل المكون الخاص بك أيضًا.

حسنًا، دعونا نلقي نظرة مرة أخرى-؟
إنشاء مجلد تخطيط
قم بإنشاء مجلد 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

) }

أتمنى أن تكون قد اكتشفت بالفعل جمال بنية مكونات التفاعل. لقد بدأ هذا للتو وحاول تنمية الاهتمام داخل عقلك.
برمجة سعيدة؟؟

بيان الافراج تم نشر هذه المقالة على: https://dev.to/hasan_rifat/the-big-picture-of-react-component-1o1m?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3