vuex 源码分析_详解vuex之store源码简单解析

本文详细解析Vuex的Store构造函数,包括实例化过程、核心属性与方法,如_store._committing、_actions、_mutations、_wrappedGetters等。深入探讨installModule方法,阐述模块化管理和_state的处理,以及_withCommit方法在状态修改中的作用,确保在mutation回调中修改state。
摘要由CSDN通过智能技术生成

使用Vuex的时候,通常会实例化Store类,然后传入一个对象,包括我们定义好的actions、getters、mutations、state等。store的构造函数:

export class Store {

constructor (options = {}) {

// 若window内不存在vue,则重新定义Vue

if (!Vue && typeof window !== 'undefined' && window.Vue) {

install(window.Vue)

}

if (process.env.NODE_ENV !== 'production') {

// 断言函数,来判断是否满足一些条件

// 确保 Vue 的存在

assert(Vue, `must call Vue.use(Vuex) before creating a store instance.`)

// 确保 Promsie 可以使用

assert(typeof Promise !== 'undefined', `vuex requires a Promise polyfill in this browser.`)

assert(this instanceof Store, `store must be called with the new operator.`)

}

// 解构赋值,拿到options里的plugins和strict

const {

plug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值