红米手机 redmi K30 uni-app pinia 获取有问题
红米手机 redmi K30 uni-app pinia 获取有问题
信息类别 | 详细信息 |
---|---|
产品分类 | uni小程序SDK |
手机系统 | Android |
手机系统版本号 | Android 12 |
手机厂商 | 小米 |
手机机型 | miui13 系统 |
页面类型 | vue |
SDK版本号 | unimpsdk 4.36 |
示例代码:
const beforeGoPublish = () => {
// Toast(`${getStorage('Authorization')}`)
Toast(`${useUserStore().loading}`)
// console.log(useUserStore().userInfo.id)
try {
// Toast(`哈哈哈${useUserStore().userInfo.id}`)
Toast(`嘻嘻嘻${useUserStore().loading}`)
} catch (error) {
Toast(`哈哈哈2${error}`)
}
if (getStorage('Authorization')) {
if (useUserStore().loading) return
const userPhone = useUserStore().userInfo.mobile
if (userPhone) {
emits('handle-tap')
} else {
useUserStore()
.send()
.then((res: any) => {
emits('handle-tap')
})
}
} else {
openLoginVC({}, () => {
getTokenVC()
})
}
}
操作步骤:
useUserStore().loading 打印出来是undefined, ios 打印出来是 false
预期结果:
安卓打印出来是 false 或者true
实际结果:
useUserStore().loading 为 undefined
bug描述:
使用pinia方法, useUserStore().loading 打印出来是undefined, ios 打印出来是 false
更多关于红米手机 redmi K30 uni-app pinia 获取有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在android平台js都是运行在v8中的,先确认是在特定android设备还是所有设备都会出现这个问题?
更多关于红米手机 redmi K30 uni-app pinia 获取有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
从代码和问题描述来看,这是一个在Redmi K30(Android 12/MIUI13)上出现的Pinia状态获取不一致的问题。以下是分析要点:
- 平台差异问题:
- iOS正常获取到false值
- 安卓获取到undefined
- 表明问题与平台相关,可能是安卓特定环境下的兼容性问题
- 可能原因:
- Pinia store未在安卓端正确初始化
- 安卓端可能触发了不同的生命周期顺序
- MIUI系统可能对某些JS API有特殊处理
- 建议检查:
- 确保store在组件挂载前已正确注册
- 检查store的loading状态初始值是否正确定义
- 在安卓端调试查看完整的store对象内容
- 临时解决方案:
const loading = useUserStore().loading || false