reduce theme context's unnecessary crap even more

This commit is contained in:
2022-04-08 18:15:06 -04:00
parent d09cf7ab26
commit 6f2018bd6e
5 changed files with 73 additions and 105 deletions
+21
View File
@@ -0,0 +1,21 @@
import { useState, useEffect } from "react";
export const useLocalStorage = (key: string) => {
const [value, setValue] = useState(() => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let currentValue: any;
try {
currentValue = window.localStorage.getItem(key);
} catch (e) {} // eslint-disable-line no-empty
return currentValue;
});
useEffect(() => {
if (value !== null) {
window.localStorage?.setItem(key, value);
}
}, [key, value]);
return [value, setValue];
};