跳转到内容

useLocalStorage

将状态持久化到 localStorage,并自动在标签页间同步。

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>
</>
)
}
参数类型描述
keystringlocalStorage 键
initialValueT键不存在时的初始值

返回一个元组 [value, setValue, removeValue]

索引类型描述
0T当前存储的值
1(value: T | (prev: T) => T) => void更新值
2() => void从 localStorage 中删除并重置为初始值
  • 通过 storage 事件在标签页/窗口间同步
  • SSR 安全(处理 window 未定义的情况)
  • 支持函数式更新,类似于 useState