دوره‌ها / آموزش جامع React / useCallback

useCallback

20 دقیقه Article

هوک useCallback: فریز کردن توابع ❄️

در جاوااسکریپت، توابع هر بار که کامپوننت رندر می‌شود، دوباره ساخته می‌شوند. این می‌تواند باعث رندر مجدد فرزندان (که memo شده‌اند) شود.

useCallback یک تابع را کش (Cache) می‌کند و تا وقتی وابستگی‌هایش تغییر نکنند، همان نمونه قبلی را برمی‌گرداند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای React آشنا هستید. هوک‌ها مفاهیمی هستند که React را از یک کتابخانه خوب به یک استاندارد صنعتی تبدیل کردند. تسلط بر این 9 هوک، شما را در 99% پروژه‌های واقعی بیمه می‌کند.

<hr style="margin: 50px 0; border: 0; border-top: 2px dashed #61dafb;">

قوانین هوک‌ها (The Rules of Hooks) ⚖️

هوک‌ها توابع ساده جاوااسکریپت هستند، اما دو قانون سخت‌گیرانه دارند که باید رعایت کنید:

  1. فقط در سطح بالا (Top Level): هوک‌ها را داخل حلقه، شرط یا توابع تودرتو صدا نزنید.
  2. فقط در توابع React: هوک‌ها را در توابع معمولی جاوااسکریپت صدا نزنید.
چرا؟ React برای نگهداری وضعیت هر هوک، به ترتیب اجرای آن‌ها وابسته است. اگر این ترتیب تغییر کند، همه چیز خراب می‌شود.

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

کال‌بک نال Medium
سوال تمرین

یک تابع خالی را با useCallback بدون وابستگی تعریف کنید.

پاسخ تمرین
const cb = useCallback(() => {}, []);

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.