关于vue3:vue3-pinia在store使用setup模式的时候调用reset方法

pinia自身提供了一个reset办法,能够重置store

const store = useStore()

store.$reset()

然而store如果采纳setup写法的时候,应用reset办法,因为不反对所以会报错,如下图:

解决办法:
在mian.ts中为pinia注册reset办法,如下:

pinia.use(({ store }) => {
  const initialState = JSON.parse(JSON.stringify(store.$state));
  store.$reset = () => {
    store.$patch(($state) => {
      Object.assign($state, JSON.parse(JSON.stringify(initialState)));
    });
  }
})

然而发现了一个问题,不太明确:
store中有如下两个变量:

//store.ts
const obj1 = ref({
})
const obj2 = reactive({})
//页面中应用
const { obj1, obj2 } = storeToRefs(store)

页面中obj1能够被重置,obj2并没有被重置,然而在main.ts中打印其实重置过了的,有晓得造成这种状况的起因吗?

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理