introduces useLocalStorage hook

This commit is contained in:
Mose Müller
2024-07-22 07:04:32 +02:00
parent 1789a6ad7e
commit 9e0adba8dc
3 changed files with 29 additions and 26 deletions

View File

@ -0,0 +1,18 @@
import { useState, useEffect } from "react";
export default function useLocalStorage(key: string, defaultValue: unknown) {
const [value, setValue] = useState(() => {
const storedValue = localStorage.getItem(key);
if (storedValue) {
return JSON.parse(storedValue);
}
return defaultValue;
});
useEffect(() => {
if (value === undefined) return;
localStorage.setItem(key, JSON.stringify(value));
}, [value, key]);
return [value, setValue];
}