Vue源码分析(6)——Vuex

1. Store初始化

  1. 如未使用Vue.use(Vuex)进行安装Vuex,则进行安装。安装阶段通过mixin全局注入beforeCreate钩子,组件初始化时触发钩子进行Store注入
  2. 递归遍历配置项,初始化module并构建module
  3. 递归遍历module树,安装每个module并对其中的stategettermutationaction进行封装并注入到store
  4. 创建内置vm实例,映射stategettervm实例的datacomputed属性
  5. 构建map映射函数并导出,提供便捷API

2. 取值

render或者操作中获取数据。
如果通过getter获取,触发内置vm计算属性流程,最终触发vmdata的响应式逻辑

3. 赋值

后续操作修改数据。
如果通过action设置,触发Store配置中的action函数,通过commit触发mutation函数对数据进行赋值,最终触发vmdata的响应式逻辑

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44844528/article/details/106724681