شرح useMemo في React
useMemo هو hook في React يُستخدم لتحسين الأداء عن طريق حفظ نتائج العمليات المكلفة (مثل العمليات الحسابية الثقيلة أو الفلاتر الكبيرة للمصفوفات) وإعادة استخدامها إذا لم تتغير القيم التي تعتمد عليها هذه العمليات.
الهدف من استخدام useMemo هو تجنب إعادة حساب القيم إلا عند تغيير أحد المدخلات (التبعيات). وهذا يمكن أن يساعد في تقليل أوقات التحديث ويجعل التطبيق أكثر استجابة.
متى أستخدم useMemo؟
تستخدم useMemo عندما يكون لديك عملية مكلفة (مثل فرز أو تصفية مصفوفات كبيرة) وترغب في التأكد من عدم إعادة حساب هذه العملية إلا إذا تغيرت البيانات المدخلة.
مثال بسيط
لنفرض أن لدينا مكون يعرض قائمة من العناصر ويتم تصفيتها بناءً على إدخال المستخدم. نريد التأكد من أن عملية التصفية تتم فقط عند تغيير قائمة العناصر أو الإدخال.
شرح الكود
استخدام
useState: هنا نستخدمuseStateلإنشاء حالة محليةfilterالتي تحتفظ بنص التصفية.استخدام
useMemo: نستخدمuseMemoلحفظ النتيجة المصفاة للعنصرات. يتم إعادة حساب النتيجة فقط إذا تغيرتitemsأوfilter.فلترة العناصر: عملية الفلترة تتم داخل
useMemoوتطبع رسالة إلى وحدة التحكم (console) عند تنفيذها لنعرف متى يتم إعادة حساب الفلترة.إدخال النص: يمكن للمستخدم إدخال نص لتصفية العناصر، وعند كل تغيير في الإدخال، يتم تحديث حالة
filter.عرض النتيجة: يتم عرض العناصر المصفاة في قائمة غير مرتبة (
ul).
باستخدام useMemo، نتأكد من أن عملية الفلترة لا تتم إلا عند الضرورة، مما يحسن أداء المكون.
تعليقات
إرسال تعليق