AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next

AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next

组件A:

let key: string = `user_switch_status_${this.memberInfo.member_id}`

AppStorage.setOrCreate(key, this.recommendType ? 'open':'close')

组件B:

let key: string = `user_switch_status_${this.memberInfo.member_id}`
let checkType = AppStorage.get<string>(key); 
console.log('AppStorage user_recommend_status', checkType)

key是由固定字符串和用户ID拼接的变量。 无论在组件A中设置key对应的value值是 open还是close, 在组件B中打印的checkType值一直是undefined 。


更多关于AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

检查${this.memberInfo.member_id}是不是变了,打印到控制台看一下

更多关于AppStorage.get 拿到的值 undefined HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS中,AppStorage.get方法用于从应用全局存储中获取指定键的值。如果返回值是undefined,可能的原因包括:

  1. 键不存在:AppStorage中未存储该键对应的值。
  2. 类型不匹配:存储的值类型与预期类型不匹配,导致无法正确获取。
  3. 未初始化:在获取值之前,未通过AppStorage.set@StorageLink等方式初始化该键的值。
  4. 生命周期问题:在某些生命周期阶段,AppStorage中的数据可能尚未加载或已被清除。

检查代码中是否在使用AppStorage.get之前正确设置了值,并确保键名拼写正确。

回到顶部