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.tsconst obj1 = ref({})const obj2 = reactive({})//页面中应用const { obj1, obj2 } = storeToRefs(store)
页面中obj1能够被重置,obj2并没有被重置,然而在main.ts中打印其实重置过了的,有晓得造成这种状况的起因吗?