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

useReducer

20 دقیقه Article

هوک useReducer: مدیریت وضعیت پیچیده 🧮

وقتی منطق state پیچیده می‌شود (مثلاً state بعدی به state قبلی وابسته است)، useReducer بهتر از useState است.

این هوک دقیقاً مشابه الگوی Redux عمل می‌کند: یک تابع Reducer و یک مقدار اولیه می‌گیرد.

{code_block('const [state, dispatch] = useReducer(reducer, initialState);')}

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

یک اکشن با نوع 'INCREMENT' را دیسپچ کنید.

پاسخ تمرین
dispatch({ type: 'INCREMENT' });

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

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