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

مكون خالص في React.js

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

Pure Component in React.js يعد الحفاظ على المكونات نقية مبدأ أساسيًا في React والبرمجة الوظيفية. فيما يلي استكشاف أعمق لمفهوم النقاء في المكونات، بما في ذلك الفوائد والاستراتيجيات للحفاظ على النقاء في مكونات React الخاصة بك.


الحفاظ على المكونات نقية في التفاعل

ما هي الوظائف البحتة؟

A الدالة الخالصة هي دالة:

  1. حتمية: بالنظر إلى نفس المدخلات، فإنها تنتج دائمًا نفس المخرجات.
  2. لا توجد آثار جانبية: لا يسبب أي آثار جانبية، مثل تعديل الحالة الخارجية أو التفاعل مع العالم الخارجي (على سبيل المثال، إجراء استدعاءات API، ومعالجة DOM).

لماذا نستخدم المكونات النقية؟

  1. القدرة على التنبؤ : المكونات النقية تتصرف بشكل متسق. يمكنك الاعتماد على مخرجاتهم، مما يبسط التفكير في التطبيق.

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

  3. تحسين الأداء : تساعد المكونات النقية على تحسين العرض. يمكن لـ React أن تحدد بكفاءة ما إذا كان المكون بحاجة إلى إعادة العرض بناءً على تغييرات الخاصية.

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

  5. إعادة الاستخدام : المكونات النقية قابلة لإعادة الاستخدام بدرجة كبيرة لأنها لا تعتمد على حالات خارجية. يمكنك استخدامها بسهولة في سياقات مختلفة.

كيفية الحفاظ على المكونات نقية

إليك بعض الاستراتيجيات لضمان بقاء مكوناتك نقية:

  1. تجنب الآثار الجانبية:
    • لا تقم بتعديل الدعائم أو الحالة العامة بشكل مباشر.
    • تجنب العمليات غير المتزامنة داخل طريقة العرض (على سبيل المثال، استدعاءات واجهة برمجة التطبيقات، والمؤقتات).
   const PureComponent = ({ count }) => {
     // Pure function: does not cause side effects
     return 
{count}
; };
  1. استخدم React.memo:
    • قم بتغليف المكونات الوظيفية باستخدام React.memo لمنع عمليات إعادة العرض غير الضرورية عندما لا تتغير العناصر.
   const PureGreeting = React.memo(({ name }) => {
     return 

Hello, {name}!

; });
  1. دعائم التدمير:
    • قم بتدمير الدعائم في قائمة معلمات المكون للحفاظ على بنية المكون نظيفة ومركزة.
   const PureButton = ({ label, onClick }) => {
     return ;
   };
  1. حالة الرفع للأعلى:
    • إدارة الحالة في المكونات الأصلية وتمرير البيانات المطلوبة ومعالجات الأحداث إلى المكونات الفرعية. وهذا يبقي المكونات الفرعية وظيفية بحتة.
   const ParentComponent = () => {
     const [count, setCount] = useState(0);

     return ;
   };
  1. تجنب الوظائف المضمنة في العرض:
    • بدلاً من تحديد الوظائف المضمّنة في طريقة العرض، قم بتعريفها في الخارج. يمنع هذا إنشاء مثيلات دالة جديدة في كل عرض، مما قد يؤدي إلى عمليات إعادة عرض غير ضرورية.
   const PureCounter = React.memo(({ count, setCount }) => {
     return ;
   });
  1. تجنب تحور الحالة مباشرة:
    • استخدم الأساليب التي تُرجع حالات جديدة بدلاً من تغيير الحالة الحالية مباشرةً. وهذا يتوافق مع مبادئ الثبات.
   const handleAddItem = (item) => {
     setItems((prevItems) => [...prevItems, item]); // Pure approach
   };

مثال لمكون خالص

إليك مثال كامل لمكون وظيفي خالص يتبع هذه المبادئ:

import React, { useState } from 'react';

const PureCounter = React.memo(({ count, onIncrement }) => {
  console.log('PureCounter Rendered');
  return ;
});

const App = () => {
  const [count, setCount] = useState(0);

  const handleIncrement = () => {
    setCount((prevCount) => prevCount   1);
  };

  return (
    

Pure Component Example

); }; export default App;

خاتمة

لا يؤدي الحفاظ على المكونات النقية في React إلى تبسيط التطوير فحسب، بل يعزز أيضًا الأداء وقابلية الصيانة. من خلال الالتزام بمبادئ الوظائف النقية، يمكنك إنشاء مكونات يمكن التنبؤ بها، وقابلة لإعادة الاستخدام، وسهلة الاختبار. إن اتباع أفضل الممارسات مثل تجنب الآثار الجانبية، واستخدام React.memo، وإدارة الحالة بشكل مناسب يمكن أن يساعدك في بناء تطبيق قوي وقابل للبيع.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/theonlineaid/pure-component-in-reactjs-acl؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3