Vuex状态管理

2021-03-16  本文已影响0人  翔子丶
什么是Vuex
什么情况下使用Vuex

官方文档: Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用 够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是,如果您需要构建 一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然 的选择。引用 Redux 的作者 Dan Abramov 的话说就是:Flux 架构就像眼镜:您自会知道什么时 候需要它。

当你的应用中具有以下需求场景的时候:

Vuex 不要滥用,不符合以上需求的业务不要使用,反而会让你的应用变得更麻烦

核心概念回顾
image-20210315195501466.png
基本结构
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
export default new Vuex.Store({
  modules: {},
  state: {},
  mutations: {},
  actions: {},
  getters: {}
})
Plugin

Vuex 的 store 接受 plugins 选项,这个选项暴露出每次 mutation 的钩子。Vuex 插件就是一个函数,它接收 store 作为唯一参数:

const myPlugin = store => {
    // 当 store 初始化后调用
    store.subscribe((mutation, state) => {
        // 每次 mutation 之后调用
        // mutation 的格式为 { type, payload }
    })
}
然后像这样使用:
const store = new Vuex.Store({
    // ...
    plugins: [myPlugin]
})

购物车案例:项目地址

上一篇 下一篇

猜你喜欢

热点阅读