HarmonyOS NEXT
AppStorage 和 PersistentStorage 的区别
核心区别体现在 数据生命周期 和 使用场景 上
|
特性 |
AppStorage |
PersistentStorage |
|
数据存储位置 |
内存 |
设备本地存储 |
|
生命周期 |
应用进程存在期间 |
持久化(跨应用启动) |
|
数据共享范围 |
应用内全局 |
应用内全局(但需通过AppStorage访问) |
|
持久化能力 |
否 |
是(自动同步) |
|
典型使用场景 |
临时状态、页面间参数传递 |
用户配置、登录状态等需要保留的数据 |
持久化封装方法
第一步:封装方法
import { User } from "../../models"
export const UserStoreKey = 'hc-user'
class Auth {
initUser(){
PersistentStorage.persistProp<User>(UserStoreKey, {} as User)
}
setUser(user: User){
AppStorage.setOrCreate<User>(UserStoreKey, user)
}
getUser(){
return AppStorage.get<User>(UserStoreKey) || {} as User
}
}
export const auth = new Auth()
第二步:首页初始化用户
import { auth } from '../commons/utils'
auth.initUser()
第三步:储存数据
this.loading = false
+ auth.setUser(user)
router.back()
第四步:调用数据
@StorageProp(UserStoreKey) user: User = {} as User
913

被折叠的 条评论
为什么被折叠?



