import { useEffect, useState } from 'react'; import { createLocalStorage } from '../utils/createLocalStorage'; export const useLocalStorageState = ( key: string, initialValue: T, timeToLive?: number, ) => { const { value: initialStoredValue, setValue: setStoredValue } = createLocalStorage(key, initialValue, timeToLive); const [localValue, setLocalValue] = useState(initialStoredValue); useEffect(() => { setStoredValue(localValue); }, [localValue]); return [localValue, setLocalValue] as const; };