Pular para o conteúdo

useLocalStorage

Persiste estado no localStorage com sincronização automática entre abas.

import { useLocalStorage } from 'asterui'
function SettingsExample() {
const [theme, setTheme] = useLocalStorage('theme', 'light')
const [user, setUser, removeUser] = useLocalStorage('user', null)
return (
<>
<Select value={theme} onChange={setTheme}>
<option value="light">Light</option>
<option value="dark">Dark</option>
</Select>
<Button onClick={removeUser}>Logout</Button>
</>
)
}
ParâmetroTipoDescrição
keystringChave do localStorage
initialValueTValor inicial se a chave não existir

Retorna uma tupla [value, setValue, removeValue]:

ÍndiceTipoDescrição
0TValor armazenado atual
1(value: T | (prev: T) => T) => voidAtualizar o valor
2() => voidRemover do localStorage e redefinir para o inicial
  • Sincroniza entre abas/janelas via evento storage
  • Seguro para SSR (lida com window sendo undefined)
  • Suporta atualizações funcionais como useState