Vyhledávání na webu

typescript - Jak mohu řešit Zustand persist v mých testech pomocí Jest?

V současné době vytvářím aplikaci v React Native a používám Zustand pro správu stavu. Zustand má možnost ukládat stav do úložiště, v mém případě do asynchronního úložiště React Native. Funguje to dobře, nicméně při spouštění testů způsobuje persist wrapper Zustandu selhání mé sady testů Jest. Jednoduchý úr

Přečtěte si více →

typescript - Typování metody `set` ze Zustand store s middleware Immer při zachování automatického dokončování

Mám problém s typováním metody set z uložiště Zustand při použití middleware Immer. Potřebuji ji typovat, protože některé vlastnosti obsahují funkce, které budou aktualizovat stav, takže potřebují funkci 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) =&

Přečtěte si více →

reactjs - Jak bych vytvořil hook wrapper pro selector obchodu Zustand v Typescriptu

Snažím se použít Zustand jako náhradu za React Context pro poskytování sdíleného stavu mezi podmnožinou komponent, a jedním ze vzorů, který často používám, je mělčí selektor s více vlastnostmi, například takto:

// store.ts interface State { data: object,

Přečtěte si více →

reactjs - Chyba se Zustand a Typescriptem při použití Persist. Chyba je: persist.d.ts(95, 210): Nebyl poskytnut argument pro 'options'

Snažím se použít funkci persist pomocí Zustand podle vzoru v dokumentaci Zustand pro Typescript, ale při přidání metody persist mi vyhodí chybu.

Chyba je persist.d.ts(95, 210): Nebyl poskytnut argument pro 'options'.

Zde j

Přečtěte si více →

Jak používat zustand devtools s TypeScriptem?

Snažím se použít funkci devtools v zustand. Také používám TypeScript. Když předám store do devtools, celý můj kód store vyvolá chybu: Argument typu 'StateCreator<Store, [], [["zustand/devtools", nikdy]], Store>' nelze přiřadit k parametru typu 'StateCreator<Store, [], [], Store>'.

Zde je kód mého obchodu:

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

Přečtěte si více →

reactjs - Jak použít zustand pro globální stav autentizace uživatele v next.js 13.4.9

Mám následující kód ve své aplikaci Next.js 13.4.9 (používající app router) a nejsem si jistý, jak efektivně používat zustand k řízení globálního stavu autentizace.

zustand obchod:

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

Přečtěte si více →

typescript - Použití generik s metodou create od zustandu

Mám zustand store, který obsahuje položky typu GridRow<T>. To představuje vybrané řádky v hlavní mřížce, takže používá generika k reprezentaci konkrétních dat používaných v mřížce.

Nejsem si jistý, jak předat generiku metodě create obchodu. Nemohu ji zabalit do jiné funkce, protože by to po

Přečtěte si více →

reactjs - zustand stavová funkce pro změnu jedné vlastnosti objektu

Takže používám Zustand s Reactem ve své Electron aplikaci. Používám ho k načtení některých dat z databáze Dexie. Je to jen jeden záznam a uloží se do stavu. Snažím se získat funkci set z renderovací komponenty, abych mohl změnit stav její příslušné vlastnosti ve stavu. V React useState tento kód funguj

Přečtěte si více →

reactjs - Přidání hodnot do pole uvnitř objektu ve stavu Zustand

Ukládám uživatelský objekt do stavu v Zustand a obsahuje pole s seznamem oblíbených filmů uživatele (prázdný zástupce je nahrazen po přihlášení). Nicméně, z nějakého důvodu Zustand není schopen uživatelský objekt rozpoznat a tvrdí, že neexistuje, když se ho snažím použít ve funkci setFavoriteMovie. P

Přečtěte si více →

reactjs - Jak přepínat pomocí Zustandu

Vytvořil jsem následující obchod pomocí Zustand:

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

Předpokládal jsem, že toto bude správný způsob, jak přepnout hodnotu show. Nicméně TypeScript není spo

Přečtěte si více →