مميز

Zustand (JS)

مكتبة إدارة الحالة (State Management) – نسخة JavaScript العامة

(5/5)
👁️ 4 مشاهدة
📅 09 Jul 2026
⚛️ React 💚 Vue.js 🅰️ Angular 🧡 Svelte 🌐 عام

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
5
تقييم المستخدمين
التصنيف ⚡ JavaScript
المشاهدات 4
تاريخ الإضافة 09/07/2026
آخر تحديث 09/07/2026

📖 الوصف

Zustand هي مكتبة خفيفة الوزن لإدارة الحالة في تطبيقات JavaScript. توفر حلاً بسيطاً ومباشراً باستخدام hooks مع الحفاظ على بساطة Redux بدون boilerplate الزائد. المكتبة لا تحتاج إلى Provider wrappers أو复杂的 الإعدادات. تُستخدم بشكل أساسي مع React لكن النواة الأساسية تعتمد على JavaScript العامة ويمكن تكي...

🎯 يستخدم في

مجالات استخدام هذه الأداة

إدارة الحالة العامة في تطبيقات React

State management بدون boilerplate

تطبيقات تحتاج لحالة مشتركة بين العديد من الـ components

State persists في localStorage أو sessionStorage

حالة derived (computed) من state أساسي

المميزات

أبرز مميزات هذه الأداة

خفيفة جداً (~1KB)

لا تحتاج Provider أو Context wrapper

API بسيط جداً – دالة create فقط

دعم مباشر للـ devtools (Redux DevTools)

Middleware مرن (persist

devtools

immer)

لا re-render غير ضروري – optimized selectors

⚠️ العيوب

نقاط يجب مراعاتها

×

مصممة في الأصل لـ React – تحتاج تعديل للاستخدام في أماكن أخرى

×

لا توجد time-travel debugging متقدمة مثل Redux

×

مجتمع أصغر من Redux

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Jotai
Redux Toolkit
Native useState/useReducer

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import create from 'zustand';

// Create store
const useStore = create((set) => ({
  count: 0,
  increment: () => set((state) => ({ count: state.count + 1 })),
  reset: () => set({ count: 0 }),
}));

// Use in component
function Counter() {
  const count = useStore((state) => state.count);
  const increment = useStore((state) => state.increment);
  
  return <button onClick={increment}>Count: {count}</button>;
}

📚 أدوات أخرى في JavaScript

قد يعجبك أيضاً