انتقل إلى محتوى الدرس

Caching Functions useCallback تثبيت مراجع الدوال بـ useCallback

احفظ نواتج الحسابات المكلفة وثبّت مراجع الكائنات الديناميكية بخطاف useMemo، وثبّت مراجع الدوال الممررة للمكونات المذكرة بخطاف useCallback وتعرّف على مترجم React الحديث.
4 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

تماماً كما يحدث مع الكائنات المضمنة، فإن تعريف دالة حدث داخل المكون الأب ينشئ مرجع دالة جديداً في كل تصيير؛ فإذا مررت هذه الدالة لمكون فرعي مغلف بـ memo() ستفشل مقارنة المراجع ويعاد رسم الابن في كل مرة.

لتثبيت مرجع الدالة نستخدم خطاف useCallback(fn, dependencies). تذكر القاعدة الفاصلة ببساطة: يخزن useMemo ناتج استدعاء الدالة، بينما يخزن useCallback تعريف الدالة نفسها لتُستدعى لاحقاً عند وقوع الحدث:

الصف 2 صورة توضيحية
مخطط يقارن فحص مصفوفة الاعتماديات وتخزين القيم الحسابية عبر useMemo وتثبيت مراجع الدوال عبر useCallback
الصف 3 كود برمجي
HTML
import { memo, useCallback, useState } from 'react';

const handleSelect = useCallback((trackId) => {
  setSelectedId(trackId);
}, []);

// Safe to pass to memoized child:
// <TrackList onSelect={handleSelect} />
الصف 4 ملاحظة هامة