Ir al contenido

useLocalStorage

Persiste el estado en localStorage con sincronización automática entre pestañas.

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ámetroTipoDescripción
keystringClave de localStorage
initialValueTValor inicial si la clave no existe

Devuelve una tupla [value, setValue, removeValue]:

ÍndiceTipoDescripción
0TValor almacenado actual
1(value: T | (prev: T) => T) => voidActualizar el valor
2() => voidEliminar de localStorage y restablecer al inicial
  • Se sincroniza entre pestañas/ventanas mediante el evento storage
  • Seguro para SSR (maneja cuando window es undefined)
  • Soporta actualizaciones funcionales como useState