vuex原理解析

67 阅读1分钟

原创不易,转载请标明出处

欢迎关注我的公众号~ 不定期更新各种干活


思维导图

image.png

关键数据结构

rawModule

rawModule:
    actions: {increment: ƒ}
    getters: {computedCount: ƒ}
    modules: {moduleA: {}}
    mutations: {increment: ƒ}
    state: {count: 1}
    [[Prototype]]: Object
    runtime: false

newModule

newModule: Module
    runtime: false
    state: {count: 1}
    _children: {}
    _rawModule: {modules: {}, state: {}, mutations: {}, actions: {}, getters: {}}
    namespaced: (...)
    [[Prototype]]: Object

_modules

 _modules: ModuleCollection
    root: Module
        runtime: false
        state: {count: 1}
        // 子模块
        _children: {moduleA: Module}
        // 自身的原始配置
        _rawModule: {modules: {}, state: {}, mutations: {}, actions: {}, getters: {}}
        namespaced: (...)
        [[Prototype]]: Object
        [[Prototype]]: Object

飞书链接