Skip to main content

useLocalStorage

O hook useLocalStorage permite gerenciar estado que é automaticamente sincronizado com o localStorage do navegador. É perfeito para persistir preferências do usuário, configurações, dados de formulário e qualquer informação que deve sobreviver ao recarregamento da página.

Importação

import { useLocalStorage } from 'buildgrid-ui'

Uso Básico

import { useLocalStorage } from 'buildgrid-ui'

function UserPreferences() {
const [theme, setTheme] = useLocalStorage('theme', 'light')

return (
<div className="space-y-4">
<p>Tema atual: {theme}</p>

<div className="space-x-2">
<button
onClick={() => setTheme('light')}
className={`px-4 py-2 rounded ${
theme === 'light' ? 'bg-blue-500 text-white' : 'bg-gray-200'
}`}
>
Claro
</button>

<button
onClick={() => setTheme('dark')}
className={`px-4 py-2 rounded ${
theme === 'dark' ? 'bg-blue-500 text-white' : 'bg-gray-200'
}`}
>
Escuro
</button>
</div>
</div>
)
}

API Reference

useLocalStorage

function useLocalStorage<T>(
key: string,
initialValue: T
): [T, (value: T | ((val: T) => T)) => void, () => void]

Parâmetros

ParâmetroTipoDescrição
keystringChave única para identificar o valor no localStorage.
initialValueTValor inicial usado quando não há dados salvos.

Retorno

ÍndiceTipoDescrição
[0]TValor atual armazenado.
[1](value: T | ((val: T) => T)) => voidFunção para atualizar o valor.
[2]() => voidFunção para remover o valor do localStorage.