useLocalStorage
A useStorage preset backed by window.localStorage — a signal that persists across sessions. Browser composable — import from @sigx/use-web.
import { useLocalStorage } from '@sigx/use-web';
const prefs = useLocalStorage('prefs', { theme: 'light' });
prefs.theme = 'dark'; // persisted, reactive — no .value
const token = useLocalStorage('token', ''); // primitive mode
token.value = 'abc'; // persisted
Signature
function useLocalStorage<T extends Primitive>(key: string, defaults: T, options?: UseStorageOptions<T>): PrimitiveSignal<T>;
function useLocalStorage<T extends object>(key: string, defaults: T, options?: UseStorageOptions<T>): Signal<T>;
Same two overloads as useStorage: an object default returns a deep-reactive Signal<T> that auto-persists on mutation; a primitive default returns a PrimitiveSignal<T> that persists on .value write.
See useStorage for the full semantics — object proxies, cross-tab sync, serializers, options, and SSR behaviour.
See also
useStorage— the flagship, with every option and the deep-reactive model.useSessionStorage— the same preset scoped to one tab session.
