reactjs - Fout met Zustand en Typescript bij gebruik van Persist. De fout is: persist.d.ts(95, 210): Er is geen argument voor 'options' opgegeven
Ik probeer de persist-functie te gebruiken met Zustand volgens het patroon in de Zustand-documentatie voor Typescript, maar ik krijg een fout wanneer ik de persist-methode toevoeg.
De fout is persist.d.ts(95, 210): Er is geen argument voor 'options' opgegeven.
Hier is een voorbeeld van de code die de fout veroorzaakt:
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),
}))
)
);
Wat zijn deze "opties" die ik mis en waar zouden ze moeten worden opgenomen?
Ik heb geprobeerd documentatie over dit probleem te vinden maar heb niets gevonden dat het probleem oplost. Het dichtstbijzijnde probleem dat ik vond heeft een oplossing met een verouderde versie van Zustand.
Antwoord #1
Geef opties voor persist (het staat in de fout; "persist.d.ts"):
export const useCountryStore = create<CountrySlice>()(
persist(
devtools((...a) => ({
...countrySlice(...a),
})),
{ name: "my cool name" },
)
);
De naam is verplicht.
Bekijk de documentatie: https://docs.pmnd.rs/zustand/integrations/persisting-store-data
Speelplaats
