vueX3中createStore
时间: 2024-01-20 22:02:49 浏览: 122
`createStore` 是 Vue.js 3 中 Vuex 状态管理库中用于创建 store 实例的函数。它接收一个对象作为参数,这个对象包含了以下属性:
- `state`: 状态对象,用于存储应用程序的状态数据。
- `mutations`: 变更函数,用于修改 `state` 中的数据。必须是同步函数。
- `actions`: 异步操作函数,可以包含任意异步操作,最终通过 commit 调用 mutations 更改状态。
- `getters`: getter 函数,用于从 state 中派生出一些状态,可以像访问 state 一样访问它们。
`createStore` 函数返回一个 store 实例,通过访问这个实例的属性和方法,我们可以访问和修改应用程序中的状态数据。
下面是一个示例:
```js
import { createStore } from 'vuex'
const store = createStore({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++
}
},
actions: {
asyncIncrement(context) {
setTimeout(() => {
context.commit('increment')
}, 1000)
}
},
getters: {
doubleCount(state) {
return state.count * 2
}
}
})
export default store
```
在上面的示例中,我们创建了一个名为 `store` 的 Vuex store 实例,包含了一个 `count` 状态属性、一个 `increment` 同步变更函数、一个 `asyncIncrement` 异步操作函数和一个 `doubleCount` getter 函数。我们可以在组件中通过 `store.state.count` 访问状态数据,通过 `store.commit('increment')` 调用 `increment` 变更函数修改状态,通过 `store.dispatch('asyncIncrement')` 调用 `asyncIncrement` 异步操作函数,最终通过 `store.getters.doubleCount` 访问 `doubleCount` getter 函数派生出的状态数据。
阅读全文