Ricerca nel sito web

Come usare zustand devtools con TypeScript?


Sto cercando di usare la funzione devtools di zustand. Sto anche usando TypeScript. Quando passo lo store a devtools, l'intero codice dello store genera un errore come: Argument of type 'StateCreator' is not assignable to parameter of type 'StateCreator'.

Ecco il codice del mio negozio:

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

    loginUser: (jwtToken: string) => {
        set((state) => ({
            ...state,
            token: jwtToken,
            isLogged: true,
        }));
    },

    logoutUser: () => {
        set((state) => ({
            ...state,
            token: "",
            isLogged: false,
        }));
    },
})));

Ecco il tipo di negozio:

export type Store = {
    token: string;
    isLogged: boolean;
    loginUser: (jwtToken: string) => void;
    logoutUser: () => void;
};

Per favore, guidami su come risolvere questo errore.

Risposta n. 1

Prova a cambiare create<Store>(devtools... in create<Store>()(devtools... (Nota la coppia aggiuntiva di parentesi)

Questo è documentato nel loro Readme