useLocalStorage

Persist state in localStorage with automatic JSON serialization. SSR-safe — returns the initial value during server rendering.

import { useLocalStorage } from "@allem-sdk/hooks";

Parameters

PropTypeDefaultDescription
key*stringThe localStorage key
initialValue*TDefault value if key doesn't exist

Returns

[T, (value: T) => void] — A stateful value and setter, like useState.

Usage

const [theme, setTheme] = useLocalStorage("theme", "light");

<button onClick={() => setTheme(theme === "light" ? "dark" : "light")}>
  Current: {theme}
</button>