鸿蒙开发-数据状态管理
状态共享相关的装饰器(state、Prop、link,@provide、@consume 等),但是这些装饰器仅能在两个组件之间共享状态,如果开发者需要在一个页面内的所有组件中共享状态,或者是在多个页面之间共享状态,这些装饰器便不再适用了,此时我们需要的就是应用级状态管理功能
1.LocalStorage
LocalStorage用于存储页面级的状态数据,位于LocalStorage中的状态数据可以在一个页面内的所有组件中共享,其用法如下
第一步:创建LocalStorage实例,并初始化状态变量
let storage=new Localstorage({
"key":"value"
})
第二步:将LocalStorage实例绑定到页面的入口组件
@Entry(storage)
@Componet
struct Parent {
build(){
......
}
}
第三步:在页面内的组件访问Localstorage
ArkTs提供了两个装饰器用于访问LocalStorage,
分别是 @LocalstorageProp和@LocalstorageLink,前者可以和LocalStorage实现单向同步,后者可以和Localstorage实现双向同步,具体用法如下
PersistentStorage数据持久化
Localstorage和Appstorage都是将状态数据保存在内存中,应用一旦退出,数据就会被清理,
如果需要对数据进行持久化存储,就需要用到PersistentStorage,其用法如下
PersistentStorage可以将指定的AppStorage中的属性保存到磁盘中,并且Persistentstorage和AppStorage的该属性会自动建立双向同步,
开发者不能直接访问PersistentStorage中的属性,而只能通过AppStorage进行访问,
具体操作如下
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 鸿蒙开发-数据状态管理【localStorage】
发表评论 取消回复