diff --git a/src/base/hooks/useStorage.tsx b/src/base/hooks/useStorage.tsx index 0a565a59..bac98234 100644 --- a/src/base/hooks/useStorage.tsx +++ b/src/base/hooks/useStorage.tsx @@ -52,7 +52,13 @@ function useStorage( return initialState; } - return jsonSaveParse(storedValueRaw) ?? storedValueRaw; + const parsedValue = jsonSaveParse(storedValueRaw); + + if (storedValueRaw === 'null' || storedValueRaw === 'undefined') { + return parsedValue; + } + + return parsedValue ?? storedValueRaw; }, [storedValueRaw, key]); return [storedValue, setValue]; diff --git a/src/lib/storage/AppStorage.ts b/src/lib/storage/AppStorage.ts index d9fd085a..b3c8e079 100644 --- a/src/lib/storage/AppStorage.ts +++ b/src/lib/storage/AppStorage.ts @@ -17,7 +17,13 @@ export class Storage { return defaultValue; } - return jsonSaveParse(value) ?? (value as T); + const parsedValue = jsonSaveParse(value); + + if (value === 'null' || value === 'undefined') { + return parsedValue; + } + + return parsedValue ?? (value as T); } getItem(key: string): string | null {