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

إعادة عرض React: أفضل الممارسات لتحقيق الأداء الأمثل

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

React Re-Rendering: Best Practices for Optimal Performance

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

1. استخدم React.memo() للمكونات الوظيفية

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

import React from 'react';

const MemoizedComponent = React.memo(function MyComponent(props) {
  // Component logic
});

2. تنفيذ PureComponent لمكونات الفئة

إذا كنت تستخدم مكونات الفئة، ففكر في توسيع PureComponent بدلاً من Component. يقوم PureComponent بإجراء مقارنة سطحية بين الخاصيات والحالة لتحديد ما إذا كان يجب تحديث المكون. يساعد هذا في تجنب عمليات إعادة العرض غير الضرورية عندما لا تتغير الدعائم والحالة.

import React, { PureComponent } from 'react';

class MyComponent extends PureComponent {
  // Component logic
}

3. تجنب تعريفات الوظائف المضمنة

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

class MyComponent extends React.Component {
  handleClick = () => {
    // Handle click
  };

  render() {
    return ;
  }
}

4. استخدم خطاف useCallback لحفظ الوظائف

يتم استخدام خطاف useCallback لحفظ الوظائف. يمنع إعادة إنشاء الوظائف غير الضرورية في كل عرض، مما قد يؤدي إلى عمليات إعادة عرض غير ضرورية للمكونات الفرعية التي تعتمد على هذه الوظائف.

import React, { useCallback } from 'react';

function MyComponent() {
  const handleClick = useCallback(() => {
    // Handle click
  }, []);

  return ;
}

5. الاستفادة من خطاف useMemo لإجراء عمليات حسابية باهظة الثمن

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

import React, { useMemo } from 'react';

function MyComponent({ items }) {
  const filteredItems = useMemo(() => items.filter(item => item.visible), [items]);

  return (
    
    {filteredItems.map(item => (
  • {item.name}
  • ))}
); }

6. استخدام المفاتيح بشكل صحيح في القوائم

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

    {items.map(item => (
  • {item.name}
  • ))}

7. تنفيذ تقسيم التعليمات البرمجية مع الواردات الديناميكية

يسمح لك تقسيم الكود بتقسيم كود تطبيقك إلى أجزاء أصغر. باستخدام عمليات الاستيراد الديناميكية (import())، يمكنك تحميل أجزاء من التطبيق الخاص بك عند الطلب، مما يقلل حجم الحزمة الأولية ويحسن أوقات التحميل.

import React, { lazy, Suspense } from 'react';

const MyComponent = lazy(() => import('./MyComponent'));

function App() {
  return (
    Loading...}>
      
    
  );
}

8. تنفيذ النوافذ للقوائم الكبيرة

تتضمن النافذة، المعروفة أيضًا باسم المحاكاة الافتراضية، عرض العناصر المرئية حاليًا على الشاشة فقط. تعتبر هذه التقنية مفيدة بشكل خاص عند التعامل مع القوائم الكبيرة، لأنها تقلل من وقت العرض الأولي وتحسن أداء التمرير.

توفر المكتبات مثل رد الفعل الافتراضي ونافذة التفاعل تطبيقات فعالة للنافذة لتطبيقات React.

9. تنفيذ التحميل البطيء للصور

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

توفر المكتبات مثل React-lazyload وreact-lazy-load-image-component حلول تحميل كسولة سهلة الاستخدام لتطبيقات React.

10. استخدام هياكل البيانات غير القابلة للتغيير

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

توفر المكتبات مثل Immutable.js وImmer هياكل بيانات غير قابلة للتغيير ووظائف مساعدة للعمل مع البيانات غير القابلة للتغيير في تطبيقات React.

خاتمة

يعد تحسين أداء عرض React أمرًا بالغ الأهمية لتقديم تجربة مستخدم سلسة وسريعة الاستجابة. من خلال اتباع أفضل الممارسات هذه والاستفادة من الميزات والخطافات المضمنة في React، يمكنك إنشاء تطبيقات React عالية الأداء تُبهج المستخدمين.

تذكر أن تقوم باستمرار بقياس أداء تطبيقك وتحديد الاختناقات ومجالات التحسين. يمكن أن يساعدك نظام React الغني بالأدوات والمكتبات، مثل React DevTools وحلول مراقبة الأداء، في هذه العملية.

للحصول على مساعدة الخبراء في تطوير React، اتصل بـ ViitorCloud Technologies لتوظيف مطوري ReactJS المهرة.

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/viitorcloud/react-re-rendering-best-practices-for-optimal-performance-30bo?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3