sil*_*ilk 3 javascript vue-component vuex vuejs3 vue-composition-api
useStore,然后在组件中使用。import { createStore, Store, useStore as baseUseStore } from 'vuex';
export const key: InjectionKey<Store<RootState>> = Symbol();
export function useStore() {
return baseUseStore(key);
}
Run Code Online (Sandbox Code Playgroud)
在组件中使用
setup() {
const store = useStore();
const onClick = () => {
console.log(store)
store.dispatch('user/getUserInfo');
}
return {
onClick,
}
},
Run Code Online (Sandbox Code Playgroud)
store未定义。methods属性中使用时可以正常获取methods: {
login() {
this.$store.dispatch('user/getToken')
}
}
Run Code Online (Sandbox Code Playgroud)
在那个简化的useStore使用教程中,您仍然需要像他们一样在main.ts 中注册store和。如果你不这样做,你将得到 undefined :key
// main.ts
import { store, key } from './store'
const app = createApp({ ... })
// pass the injection key
app.use(store, key)
Run Code Online (Sandbox Code Playgroud)
原因是baseUseStore(key)在完成之前没有任何意义。
| 归档时间: |
|
| 查看次数: |
1754 次 |
| 最近记录: |