# 组合式API
小常识:

**组合式API** 可以通过调用 useStore 函数,来在 setup 钩子函数中访问 store。这与在组件中使用选项式 API 访问 this.$store 是等效的。 ```javascript import { useStore } from 'vuex' export default { setup () { const store = useStore() } } ``` **访问 State 和 Getter** 为了访问 state 和 getter,需要创建 computed 引用以保留响应性,这与在选项式 API 中创建计算属性等效。 ```javascript import { computed } from 'vue' import { useStore } from 'vuex' export default { setup () { const store = useStore() return { // 在 computed 函数中访问 state count: computed(() => store.state.count), // 在 computed 函数中访问 getter double: computed(() => store.getters.double) } } } ``` **访问 Mutation 和 Action** 要使用 mutation 和 action 时,只需要在 setup 钩子函数中调用 commit 和 dispatch 函数。 ```javascript import { useStore } from 'vuex' export default { setup () { const store = useStore() return { // 使用 mutation increment: () => store.commit('increment'), // 使用 action asyncIncrement: () => store.dispatch('asyncIncrement') } } } ```
小测试:
关于vuex的说法不正确的是?

## 答案 actions可以直接操作修改state中的数据 ## 选项 ### A actions接收到这个事件之后,在actions中可以执行一些异步或同步操作,actions通过commit去触发mutations ### B 通过dispatch去提交一个actions ### C mutations去更新state数据,state更新之后,就会通知vue进行渲染