وب‌سرویس مجید

پروژه hox

umijs/hox

این یک کتابخانه سبک برای اشتراک‌گذاری وضعیت (state) بین کامپوننت‌های ری‌اکت است.

از الگوی Custom Hooks استفاده می‌کند و نیاز به کانتکست یا کتابخانه‌های سنگین مثل Redux را کاهش می‌دهد.

کاربرد:

وقتی می‌خوای بدون دردسر، وضعیت رو بین کامپوننت‌های غیرمرتبط به اشتراک بذاری، hox گزینه عالی‌ایه.

مثل مواقعی که داده‌های کاربر، تنظیمات، یا وضعیت لاگین باید در جاهای مختلف اپ دسترسی داشته باشن.

در چه شرایطی بهتره استفاده شود؟

وقتی پروژه‌ات با React نوشته شده و نیاز به مدیریت وضعیت ساده و قابل تست داره، اما نمی‌خوای پیچیدگی‌های Redux یا MobX رو تحمل کنی.

همچنین برای پروژه‌های متوسط یا کوچیک که با UmiJS ساخته شدن، یک انتخاب طبیعیه.

چند مثال از موارد استفاده:

- ذخیره وضعیت کاربر لاگین شده

- مدیریت تم تاریک/روشن (dark mode)

- اشتراک‌گذاری داده‌های فرم بین صفحات مختلف

- نمایش یا مخفی کردن منوی کناری در کامپوننت‌های جدا از هم

  • ##state
  • ##react
  • ##umijs
  • ##hox
  • ##lightweight
  • ##context
  • ##custom
  • ##dark
  • ##user
  • ##frontend