diff --git a/hooks/useLocalStorageState.js b/hooks/useLocalStorageState.js new file mode 100644 index 0000000..e147840 --- /dev/null +++ b/hooks/useLocalStorageState.js @@ -0,0 +1,27 @@ +import { useEffect, useState } from 'react'; + +export default function useLocalStorageState(key, defaultVa1ue) { + const [state, setState] = useState(() => { + let value; + try { + value = JSON.parse(window.localStorage.getItem(key) || String(defaultVa1ue)) + } + catch (e) { + value = defaultVa1ue; + } + return value; + }) + useEffect( + () => { + window.localStorage.setItem(key, state); + }, [state]); + return [state, setState]; +} +// export default function Counter() { +// const [count, setcount] = useLocalStorageState("my-app-count", 0) +// return ( +//
+// +//
+// ) +// } \ No newline at end of file