MCPcopy Create free account
hub / github.com/EyuCoder/chatgpt-pro / useLocalStorage

Function useLocalStorage

src/hooks/useLocalStorage.js:12–40  ·  view source on GitHub ↗
(key, initialValue)

Source from the content-addressed store, hash-verified

10 * and a function to update it.
11 */
12const useLocalStorage = (key, initialValue) => {
13 const [storedValue, setStoredValue] = useState(() => {
14 try {
15 const item = window.localStorage.getItem(key);
16 return item ? JSON.parse(item) : initialValue;
17 } catch (error) {
18 console.log(error);
19 return initialValue;
20 }
21 });
22
23 const setValue = (value) => {
24 try {
25 const valueToStore =
26 value instanceof Function ? value(storedValue) : value;
27
28 setStoredValue(valueToStore);
29
30 window.localStorage.setItem(key, JSON.stringify(valueToStore));
31 } catch (error) {
32 console.log(error);
33 }
34 };
35
36 const removeValue = (value) => {
37 window.localStorage.removeItem(value);
38 };
39 return [storedValue, setValue, removeValue];
40};
41
42export default useLocalStorage;

Callers 1

useDarkModeFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected