قل وداعًا لإعادة التوترات غير الضرورية مع Memo React: تعليمي خطوة بخطوة
نشر في 2025-03-23
تصفح:328
مقدمة
غالبًا ما تتعامل تطبيقات رد الفعل مع مجموعات البيانات الكبيرة والمكونات المعقدة ، حيث يمكن أن تؤثر إعادة البيع غير الضرورية بشكل كبير على الأداء. لمعالجة هذا ، يوفر React React.Memo - أداة بسيطة ولكنها قوية لتحسين المكونات وتقليل أوقات العرض. في هذا الدليل ، سنستكشف كيفية عمل React Memo ، ولماذا تكون مفيدة ، وكيفية تنفيذها خطوة بخطوة.
ما هي مذكرة رد فعل؟
React.memo هو مكون عالي الترتيب (HOC) في التفاعل الذي يساعد على وضع مكونات وظيفية. المذكرة هي عملية تخزين تأكيد إخراج وظيفة بناءً على مدخلاتها ، لذلك لا يتعين على الوظيفة إعادة حساب النتيجة لنفس المدخلات. تعمل React Memo بشكل مشابه: إنها "تتذكر" آخر إخراج تم تقديمه للمكون ويعيد إعادة عرضه فقط عندما تتغير الدعائم.
لماذا رد فعل المذكرة؟
في React ، تعيد المكونات إعادة تقديم كلما أعادت مكونات الوالدين. يمكن أن يسبب ذلك عدم الكفاءة إذا كان إخراج المكون لا يعتمد على التغييرات في الوالد. على سبيل المثال ، في واجهة المستخدم المعقدة مع العديد من المكونات ، قد ترى تأخرًا بسبب إعادة التزويد المفرطة. يمكن أن يؤدي استخدام MEMO React إلى تحسين هذا عن طريق تحديث المكونات فقط عند الضرورة.
تحل المذكرة رد فعل المشكلات
1
عندما يعيد مكون الوالدين إعادة تقديم مكوناته ، فإن مكوناته الفرعية تعيد تقديمها أيضًا. يمكن أن يؤدي ذلك إلى اختناقات الأداء ، خاصةً عندما تعرض المكونات بيانات ثابتة أو تعتمد على الدعائم غير المتغيرة.
2. الأداء البطيء أو البطيء في واجهة المستخدم المعقدة
يمكن أن تواجه التطبيقات ذات المكونات المتداخلة بعمق أداء بطيئًا بسبب إعادة التراكمية. تساعد Memoization ، مع Memo React ، في منع إعادة عرض المكونات التي لا تتطلب تحديثات ، وتعزيز استجابة التطبيق.
كيف تعمل مذكرة React: مثال خطوة بخطوة
دعنا نذهب من خلال التنفيذ الأساسي لمذكرة React. سنبدأ بمكون بسيط لا يستخدم المذكرات ونرى كيف تحدث إضافة مذكرة React فرقًا.
الخطوة 1: إعداد مكون مضاد بسيط بدون مذكرة React
استيراد React ، {Usestate} من 'React' ؛
وظيفة عداد ({count}) {
console.log ("مكافحة المكون إعادة تقديم") ؛
إرجاع
في هذا المثال ، في كل مرة تكتب فيها في حقل الإدخال ، يعيد عرض المكون المضاد ، على الرغم من أن قيمة العدد تظل كما هي. هذا إعادة عرض غير ضرورية يمكننا منعها مع مذكرة React.
import React, { useState } from 'react';
function Counter({ count }) {
console.log('Counter component re-rendered');
return
مع React.memo ، المكون المضاد يعيد فقط إعادة تقديم المسند إذا تغير عدد الدعامة. الآن ، لم تعد الكتابة في حقل الإدخال تؤدي إلى إعادة تقديم العداد ، مما يؤدي إلى تحسين الأداء بشكل كبير.
دعنا نغوص في مثال أكثر تعقيدًا لرؤية الفوائد الحقيقية لمذكرة React. افترض أن لدينا قائمة بالعناصر مع زر "أعجبني" بجوار كل عنصر. سنوضح كيف يمكن لمذكرة React أن تمنع عمليات إعادة البيع المفرطة عند إعجاب العناصر الفردية.
الخطوة 1: إنشاء مكون القائمة بدون مذكرة
استيراد React ، {Usestate} من 'React' ؛
عنصر الدالة ({item ، on -tile}) {
console.log (`rendering $ {item.name}`) ؛
يعود (
React Memo مفيدة في سيناريوهات محددة ، ولكن استخدامها في كل مكان يمكن أن يعقد الكود الخاص بك دون إضافة فائدة حقيقية. فيما يلي بعض المواقف الرئيسية التي يمكن أن تكون فعالة بشكل خاص:
مكونات ثابتة
: المكونات التي لا تتغير في كثير من الأحيان ، مثل الرؤوس أو التذييلات.
مكونات وظيفية نقية : مكونات تعتمد فقط على الدعائم لتقديمها.
قوائم كبيرة من المكونات : قوائم مع العديد من العناصر التي تحتاج إلى تجنب إعادة الترتيب غير الضرورية.
المزالق المحتملة وأفضل الممارسات
مقارنة ضحلة
: تقوم مذكرات React بإجراء مقارنة ضحلة ، مما يعني أنها لن تكتشف التغييرات في الأشياء أو المصفوفات المتداخلة بعمق. فكر في استخدام USEMEMO أو USECallBack إذا كنت تمر الدعائم المعقدة.
مراقبة الأداء
: استخدم DevTools React لتحديد المكونات التي تستفيد بالفعل من المذكرة. يمكن أن يؤدي الإفراط في استخدام مذكرة React إلى تعقيد التعليمات البرمجية مع مكاسب أداء ضئيلة.
الأسئلة المتداولة (الأسئلة الشائعة)
Q1: كيف تختلف مذكرة React عن Usememo و Usecallback؟
React Memo
يحسن أعمدة المكونات بناءً على الدعائم.
usememo Caches القيم المحسوبة داخل مكون.
usecallback وظائف Caches ، ومنعها من إعادة إنشاءها على كل عرض.
س 2: هل يمكنني استخدام مذكرة React مع مكونات الفصل؟
لا ، مذكرة رد الفعل هي فقط للمكونات الوظيفية. ومع ذلك ، بالنسبة لمكونات الفصل ، يمكن تحقيق سلوك مماثل مع Purecomponent.
خاتمة
React Memo هي أداة قيمة للحد من إعادة التوترات غير الضرورية وتعزيز أداء تطبيق React. من خلال استخدامه بشكل انتقائي على مكونات وظيفية نقية أو عناصر واجهة المستخدم الثابتة ، يمكنك تحسين تطبيق React الخاص بك دون تعقيد بنيته. اتبع هذه الخطوات ، وجرب الأمثلة ، واستمر في التجربة للعثور على أفضل استراتيجيات المذكرات لمشروعك!
بيان الافراج
تتم إعادة طباعة هذه المقالة على: https://dev.to/chintanonweb/say-goodbye-to-unnecessary-re-renders-with-rect-memo-step-by-step-tutorial-551j؟1 إذا كان هناك أي انتهاك ، يرجى الاتصال بالدراسة [email protected] لحذفها.
] ما هي الجوانب المحددة للآلية تفشل في العمل كما هو متوقع؟ ومع ذلك ، تنشأ الشكوك فيما يتعلق بما إذا كان هذا الشيك يتحقق مما إذا كان يتم الإعلان عن الأ...
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected].
سوف نتعامل مع الأمر لك في أقرب وقت ممكن.