lloydzhou há 1 ano atrás
pai
commit
53dcae9e9c
3 ficheiros alterados com 7 adições e 7 exclusões
  1. 0 2
      app/store/prompt.ts
  2. 1 0
      app/utils/indexedDB-storage.ts
  3. 6 5
      app/utils/store.ts

+ 0 - 2
app/store/prompt.ts

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

+ 1 - 0
app/utils/indexedDB-storage.ts

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

+ 6 - 5
app/utils/store.ts

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