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

useEffect

20 دقیقه Article

هوک useEffect: مدیریت اثرات جانبی 🔄

useEffect جایگزینی برای componentDidMount، componentDidUpdate و componentWillUnmount است.

آرایه وابستگی (Dependency Array)

  • []: فقط یک بار اجرا می‌شود (Mount).
  • [prop]: هر وقت prop تغییر کرد اجرا می‌شود.
  • بدون آرایه: در هر رندر اجرا می‌شود.

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

یک useEffect بنویسید که فقط یک بار (هنگام لود صفحه) اجرا شود.

پاسخ تمرین
useEffect(() => {
  console.log('Loaded');
}, []);

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

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