From 26690a7ebc3e2b8a4493ba96d4ca670ea449ba00 Mon Sep 17 00:00:00 2001 From: lingdocs <71590811+lingdocs@users.noreply.github.com> Date: Sat, 18 Sep 2021 19:23:41 -0400 Subject: [PATCH] fix stickyState --- package.json | 1 + src/useStickyState.ts | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 19821df..93ae101 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ }, "scripts": { "start": "react-scripts start", + "start-w-user": "REACT_APP_ENV=dev react-scripts start", "build": "node scripts/get-words.js && react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject", diff --git a/src/useStickyState.ts b/src/useStickyState.ts index 295290b..16f98ee 100644 --- a/src/useStickyState.ts +++ b/src/useStickyState.ts @@ -7,9 +7,13 @@ export default function useStickyState(defaultValue: T, key: string): { const [value, setValue] = useState(() => { const stickyValue = window.localStorage.getItem(key); - return stickyValue !== null - ? JSON.parse(stickyValue) as T - : defaultValue; + if (stickyValue === null) return defaultValue; + try { + return JSON.parse(stickyValue) as T; + } catch(e) { + console.error(e); + return defaultValue; + } }); useEffect(() => {