reactjs - שגיאה עם Zustand ו-Typesscript בעת שימוש ב-Persist. השגיאה היא: persist.d.ts(95, 210): לא סופק ארגומנט עבור 'options'


אני מנסה להשתמש בפונקציונליות השמירה באמצעות Zustand לפי הדפוס במדריך של Zustand עבור Typescript, אבל אני מקבל שגיאה כשאני מוסיף את שיטת persist.

השגיאה היא persist.d.ts(95, 210): לא סופק ארגומנט עבור 'options'.

הנה דוגמה של הקוד שיוצר את השגיאה:

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),
        }))
    )
);

מה אלו ה״אפשרויות״ שאני מפספס ואיפה הן צריכות להיות כלולות?

ניסיתי למצוא תיעוד על הבעיה הזו אך לא מצאתי כלום שמתקן את הבעיה. הבעיה הקרובה ביותר שמצאתי כוללת פתרון שמשתמש בגרסה מיושנת של Zustand.

תשובה #1

ספק אפשרויות עבור persist (זה מופיע בשגיאה; "persist.d.ts"):

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

השם נדרש.

ראה את המסמכים: https://docs.pmnd.rs/zustand/integrations/persisting-store-data

מִגרָשׂ מְשָׂחָק