![](/img/trans.png)
[英]jest mock vuex useStore() with vue 3 composition api
[英]Using `useStore` API with vuex 4.x
useStore
,然后在組件中使用。import { createStore, Store, useStore as baseUseStore } from 'vuex';
export const key: InjectionKey<Store<RootState>> = Symbol();
export function useStore() {
return baseUseStore(key);
}
在組件中使用
setup() {
const store = useStore();
const onClick = () => {
console.log(store)
store.dispatch('user/getUserInfo');
}
return {
onClick,
}
},
store
未定義。methods
屬性中使用時可以正常獲取methods: {
login() {
this.$store.dispatch('user/getToken')
}
}
在那個簡化useStore
使用教程中,你仍然需要像他們一樣在main.ts中注冊store
和key
。 如果您不這樣做,您將得到未定義:
// main.ts
import { store, key } from './store'
const app = createApp({ ... })
// pass the injection key
app.use(store, key)
原因是baseUseStore(key)
在完成之前沒有任何意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.