تكرار السؤال: …
الإجابة المختصرة
حفظ الإعدادات البسيطة (اللغة، الثيم، تفعيل الإشعارات) في تخزين سريع خفيف كـ MMKV، مع توفير قيم افتراضية واضحة والتزامن الدوري مع الخادم عند توفر الاتصال.
الشرح
يجب عزل تفضيلات المستخدم عن البيانات الحساسة. لا يجب خلط تفضيل لون الواجهة مع كلمة المرور. يفضل حفظ التفضيلات محلياً أولاً لتطبيقها لحظياً عند التشغيل، ثم إرسال تحديث للـ API بالخلفية لضمان مزامنة نفس التفضيلات إذا فتح المستخدم حسابه من جهاز لوحي آخر.
مثال بالكود
interface UserPreferences {
theme: 'light' | 'dark' | 'system';
notificationsEnabled: boolean;
language: 'ar' | 'en';
}
const DEFAULT_PREFS: UserPreferences = {
theme: 'system',
notificationsEnabled: true,
language: 'ar',
};أخطاء شائعة
- انتظار استجابة الخادم لتطبيق لغة التطبيق أو الثيم عند كل إقلاع، مما يسبب وميضاً مربكاً للمستخدم.
أسئلة متابعة
- كيف تستخدم Zustand مع MMKV لإنشاء مخزن حالة عالمي متزامن ومحفوظ محلياً (Persistent Store)؟
- كيف تتعامل مع تخزين وإدارة البيانات الكبيرة المؤقتة (Caching) باستخدام TanStack Query؟