دوره‌ها / آموزش جامع React / What is a Hook?

What is a Hook?

20 دقیقه Article

هوک چیست؟ (What is a Hook?) 🪝

هوک‌ها (Hooks) ویژگی جدیدی در React 16.8 هستند که به شما اجازه می‌دهند بدون نوشتن کلاس، از State و سایر ویژگی‌های React استفاده کنید.

قبل و بعد

قبل از هوک‌ها، اشتراک‌گذاری منطق بین کامپوننت‌ها سخت بود (با استفاده از Render Props یا HOC). هوک‌ها به شما اجازه می‌دهند منطق Stateful را از کامپوننت بیرون بکشید و مجدداً استفاده کنید.

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

آیا می‌توان یک هوک را داخل دستور if صدا زد؟ (پاسخ Yes یا No)

پاسخ تمرین
// No

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

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