This commit is contained in:
lloydzhou 2024-09-04 13:00:18 +08:00
parent ed9aae531e
commit 53dcae9e9c
3 changed files with 7 additions and 7 deletions

View File

@ -179,8 +179,6 @@ export const usePromptStore = createPersistStore(
res.en.length + res.cn.length + res.tw.length; res.en.length + res.cn.length + res.tw.length;
SearchService.init(allPromptsForSearch, userPrompts); SearchService.init(allPromptsForSearch, userPrompts);
}); });
return () => state.setHasHydrated(true);
}, },
}, },
); );

View File

@ -15,6 +15,7 @@ class IndexedDBStorage implements StateStorage {
try { try {
const _value = JSON.parse(value); const _value = JSON.parse(value);
if (!_value?.state?._hasHydrated) { if (!_value?.state?._hasHydrated) {
console.warn("skip setItem", name);
return; return;
} }
await set(name, value); await set(name, value);

View File

@ -35,11 +35,12 @@ export function createPersistStore<T extends object, M>(
persistOptions: SecondParam<typeof persist<T & M & MakeUpdater<T>>>, persistOptions: SecondParam<typeof persist<T & M & MakeUpdater<T>>>,
) { ) {
persistOptions.storage = createJSONStorage(() => indexedDBStorage); persistOptions.storage = createJSONStorage(() => indexedDBStorage);
persistOptions.onRehydrateStorage = persistOptions.onRehydrateStorage const oldOonRehydrateStorage = persistOptions?.onRehydrateStorage;
? persistOptions.onRehydrateStorage persistOptions.onRehydrateStorage = (state) => {
: (state) => { oldOonRehydrateStorage?.(state);
return () => state.setHasHydrated(true); return () => state.setHasHydrated(true);
}; };
return create( return create(
persist( persist(
combine( combine(