UNPKG

@voilajsx/uikit

Version:

Cross-platform React components with beautiful themes and OKLCH color sciences - Now with mobile (Capacitor) support

35 lines 1.1 kB
/** * useLocalStorage Hook - Persistent state with localStorage * @module @voilajsx/uikit * @file src/hooks/useStorage.ts */ /** * @llm-rule Storage hook for persisting state to localStorage * Handles SSR, JSON parsing errors, and storage unavailability */ export type UseLocalStorageReturn<T> = [ value: T, setValue: (value: T | ((prev: T) => T)) => void, removeValue: () => void ]; /** * Hook to persist state in localStorage with automatic JSON serialization * * @param key - localStorage key * @param initialValue - Default value if no stored value exists * @returns [value, setValue, removeValue] tuple * * @example * ```tsx * const [user, setUser, removeUser] = useLocalStorage('user', null); * const [settings, setSettings] = useLocalStorage('settings', { theme: 'light' }); * * // Update value * setUser({ name: 'John', email: 'john@example.com' }); * * // Remove value (resets to initialValue) * removeUser(); * ``` */ export declare function useLocalStorage<T>(key: string, initialValue: T): UseLocalStorageReturn<T>; //# sourceMappingURL=useStorage.d.ts.map