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

useMemo

20 دقیقه Article

هوک useMemo: محاسبات سنگین 🧠

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

{code_block('const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);')}

این هوک نتیجه محاسبه را ذخیره می‌کند و فقط وقتی a یا b تغییر کنند، دوباره محاسبه می‌کند.

تبریک می‌گویم! شما اکنون با قدرتمندترین ابزارهای 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
سوال تمرین

حاصل جمع a + b را مموریز کنید.

پاسخ تمرین
const sum = useMemo(() => a + b, [a, b]);

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

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