From d71cf567e968552caf18c4d55094c04d9ed1930b Mon Sep 17 00:00:00 2001 From: Dakshesh Jain <65905942+dakshesh14@users.noreply.github.com> Date: Fri, 17 Feb 2023 20:10:02 +0530 Subject: [PATCH] fix: try/catch for invalid values stored in local storage (#301) --- apps/app/hooks/use-local-storage.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/app/hooks/use-local-storage.tsx b/apps/app/hooks/use-local-storage.tsx index 8e2877a65..f6439ec1b 100644 --- a/apps/app/hooks/use-local-storage.tsx +++ b/apps/app/hooks/use-local-storage.tsx @@ -1,8 +1,13 @@ import { useState, useEffect, useCallback } from "react"; const getValueFromLocalStorage = (key: string, defaultValue: any) => { - const value = window.localStorage.getItem(key); - return value ? JSON.parse(value) : defaultValue; + try { + const item = window.localStorage.getItem(key); + return item ? JSON.parse(item) : defaultValue; + } catch (error) { + window.localStorage.removeItem(key); + return defaultValue; + } }; const useLocalStorage = (key: string, initialValue: T) => {