Vyhledávání na webu

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 je příklad kódu, který způsobuje chybu:

import { create, StateCreator } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
import { CountryData } from './countryTypes';

interface CountrySlice {
    countries: CountryData[];
    fetchCountries: () => void;
}

const countrySlice: StateCreator<CountrySlice> = (set) => ({
    countries: [],
    fetchCountries: async () => {
        const res = await fetch('https://restcountries.com/v3.1/all');
        set({ countries: await res.json() });
    },
});


export const useCountryStore = create<CountrySlice>()(
    persist(
        devtools((...a) => ({
            ...countrySlice(...a),
        }))
    )
);

Jaké jsou tyto „možnosti“, které mi chybí, a kde by měly být zahrnuty?

Snažil jsem se najít dokumentaci k tomuto problému, ale nenašel jsem nic, co by problém vyřešilo. Nejbližší problém, který jsem našel, má řešení pomocí zastaralé verze Zustand.

Odpověď č. 1

Poskytněte možnosti pro persist (je to v chybě; „persist.d.ts“):

export const useCountryStore = create<CountrySlice>()(
    persist(
        devtools((...a) => ({
            ...countrySlice(...a),
        })),
        { name: "my cool name" },
    )
);

Jméno je povinné.

Podívejte se na dokumentaci: https://docs.pmnd.rs/zustand/integrations/persisting-store-data

Dětské hřiště