سرفصل های دوره:
1. مقدمه ای بر Zustand
2. چرا Zustand؟
3. مقایسه Zustand با Redux
4. مقایسه Zustand با Context API
5. نصب Zustand
6. ایجاد اولین Store
7. تعریف State اولیه
8. استفاده از State در کامپوننت
9. آپدیت کردن State
10. تابع `set` در Zustand
11. آپدیت های اتمیک
12. استفاده از `get`
13. دسترسی به State از خارج کامپوننت
14. ساخت یک Store با چندین State
15. استفاده از State های مختلف
16. آپدیت کردن State های مجزا
17. ساخت Store با توابع (Actions)
18. تعریف توابع در Store
19. فراخوانی توابع از کامپوننت
20. استفاده از `useStore` Hook
21. نحوه عملکرد `useStore`
22. انتخاب بخش هایی از State
23. استفاده از `shallow` برای بهینه سازی
24. چرا `shallow` مهم است؟
25. استفاده از `use` Hook (جدیدتر)
26. تفاوت `useStore` و `use`
27. آپدیت کردن State در توابع
28. آرگومان های توابع در Store
29. استفاده از `setState` در توابع
30. استفاده از `getState` در توابع
31. استفاده از `dispatch` (اگر کسی بخواهد)
32. سازگاری با TypeScript
33. تعریف Type برای State
34. تعریف Type برای Actions
35. استفاده از Type ها در `useStore`
36. استفاده از Type ها در `use`
37. استفاده از Type ها در توابع
38. ساخت Store های متعدد
39. ارتباط بین Store های مختلف (پرهیز از وابستگی مستقیم)
40. استفاده از Zustand برای مدیریت فرم ها
41. مدیریت State فرم ها
42. ...