一、场景
uniapp引用pinia,app端进入应用白屏。
reportJSException >>>> exception function:createInstanceContext,
exception:white screen cause create instanceContext failed,check js
stack -> /at useStore (app-service.js:2309:15)
二、分析
问题出现的原因就是store实例环境还没加载。
代码层面问题出现的位置在store.js文件里,通过$subscribe实现持久化这块。
三、解决
加上定时器,延时2s再让它持久化文章来源:https://www.toymoban.com/news/detail-540759.html
四、扩展文章来源地址https://www.toymoban.com/news/detail-540759.html
import {
defineStore
} from 'pinia';
export const useUserStore = defineStore({
id: "user",
// 使用defineStore方法定义store
state() {
// state表示这个store里的状态,也就是存放数据的地方
return {
userInfo: {
username: null,
avatar: null
}
}
},
actions: {}
})
// 通过$subscribe实现持久化,
setTimeout(() => {
const instance = useUserStore();
instance.$subscribe((mutation, state) => {
uni.setStorageSync(instance.$id, JSON.stringify(state))
});
const val = uni.getStorageSync(instance.$id);
if (val) {
instance.$state = JSON.parse(val);
}
}, 2000)
到了这里,关于uniapp引用pinia,app端白屏报错:reportJSException >>>> exception function:createInstanceContext...的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!