تايب سكريبت - كيف يمكنني التعامل مع Zustand persist في اختبارات Jest الخاصة بي؟

أنا حاليًا أقوم بإنشاء تطبيق React Native باستخدام Zustand لإدارة الحالة الخاصة بي. لدى Zustand القدرة على الحفاظ على الحالة في التخزين، وفي حالتي التخزين غير المتزامن (async storage) في React Native. يعمل ذلك بشكل جيد، ومع ذلك عند تشغيل الاختبارات يتسبب غلاف persist الخاص بـ Zustand في فشل مجموعة اختبارات Jest

اقرأ أكثر →

تايبسكريبت - كتابة نوع طريقة `set` من متجر Zustand مع وسيط Immer مع الحفاظ على الإكمال التلقائي

أواجه مشكلة في كتابة طريقة set من متجر Zustand أثناء استخدام وسيط Immer. أنا بحاجة بالفعل إلى كتابتها لأن بعض الخصائص تحتوي على دوال ستقوم بتحديث الحالة، لذا فهي بحاجة إلى دالة set:

export const useStore = create<Store>()( immer((set, get) => ({ func: beginDraggingVertex(set, get, vertexID) })) ) .... function beginDraggingVertex(set: Setter, get: Getter, vertexID: string) { ...ommited set((store) => // here is where I

اقرأ أكثر →

reactjs - كيف يمكنني إنشاء خطاف ملف محوّل محدّد متجر Zustand في Typescript

أحاول استخدام Zustand كبديل لـ React Context لتوفير حالة مشتركة بين مجموعة فرعية من المكونات، وإحدى الأنماط التي أجد نفسي أستخدمها كثيرًا هي المحدد الضحل متعدد الخصائص، كما يلي:

// store.ts interface State { data: object, setData: (newData: State['data'])

اقرأ أكثر →

reactjs - خطأ مع Zustand و Typescript عند استخدام Persist. الخطأ هو: persist.d.ts(95, 210): لم يتم تقديم حجة لـ 'options'

أحاول استخدام وظيفة الاستمرارية باستخدام Zustand باتباع النمط الموجود في وثائق Zustand لـ Typescript، لكنني أتلقى خطأً عند إضافة طريقة persist.

الخطأ هو persist.d.ts(95, 210): لم يتم توفير وسيطة لـ 'options'.

إليك مثال على الكود الذ

اقرأ أكثر →

كيف تستخدم أدوات تطوير zustand مع تايب سكريبت؟

أحاول استخدام ميزة devtools في zustand. أنا أستخدم أيضًا typescript. عندما أقوم بتمرير المخزن إلى devtools، يظهر خطأ في كامل كود المخزن الخاص بي كما يلي: Argument of type 'StateCreator' is not assignable to parameter of type 'StateCreator'.

إليك رمز متجري:

const useUserStore = create<Store>(devtools((set) => ({ token: "", isLogged: false, loginUser: (jwtToken

اقرأ أكثر →

reactjs - كيفية استخدام zustand لحالة المصادقة العالمية للمستخدم في next.js 13.4.9

لدي الكود التالي في تطبيقي Next.js 13.4.9 (باستخدام موجه التطبيق) ولست متأكدًا من كيفية استخدام zustand بفعالية لإدارة حالة المصادقة العامة.

متجر zustand:

// /src/store/AuthStore.ts import { create } from 'zustand'; import { persist } from 'zustand/middleware'; typ

اقرأ أكثر →

تايب سكريبت - استخدام الأنواع العامة مع طريقة create في Zustand

لدي متجر zustand يحتفظ بعناصر من نوع GridRow<T>. هذا يمثل الصفوف المحددة في شبكة رئيسية، لذا فهو يستخدم الأنواع العامة لتمثيل البيانات المحددة المستخدمة في الشبكة.

لست متأكدًا من كيفية تمرير النوع العام إلى طريقة create الخاصة بالمتجر. لا أستطيع تغليفه في دالة أخرى لأنه سيؤدي إلى إنشاء متجر

اقرأ أكثر →

reactjs - دالة حالة في zustand لتغيير خاصية واحدة من كائن

لذلك أنا أستخدم Zustand مع React في تطبيق Electron الخاص بي. أنا أستخدمه لاسترجاع بعض البيانات من قاعدة بيانات Dexie. إنها مجرد مدخلة واحدة ويتم حفظها في الحالة. أحاول الحصول على دالة set من مكون الرندر لأتمكن من تغيير حالة الخاصية الخاصة بها في الحالة. في React useState هذا الكود يعمل...

اقرأ أكثر →

reactjs - إضافة قيم إلى مصفوفة داخل كائن في حالة Zustand

لدي كائن مستخدم محفوظ في حالة Zustand ويحتوي على مصفوفة بقائمة الأفلام المفضلة للمستخدم (يتم استبدال العنصر النائب الفارغ عند تسجيل الدخول). ومع ذلك، لسبب ما، لا يستطيع Zustand التعرف على كائن المستخدم، حيث يدعي أنه غير موجود عندما أحاول استخدامه في دالة setFavoriteMovie. لكن يمكنك أن ترى بوضوح أنه م

اقرأ أكثر →

ريأكت جي إس - كيف تستخدم تبديل مع Zustand

لقد أنشأت المتجر التالي باستخدام Zustand:

import create from "zustand" const useStore = create((set) => ({ show: false, toggleShow: () => set((state) => ({ show: !state.show })), }))

افترضت أن هذه ستكون الطريقة الصحيحة لتبديل قيمة show. ومع ذلك، TypeScript غير راضٍ - هناك خط أحمر متعرج تحت

اقرأ أكثر →