随笔分类 - pinia源码
摘要:###解读一些经常使用的方法 $subscribe和$onAction subscribe和onAction都是执行addSubscription方法只是subscribe多了一步对state进行watch $subscribe(callback, options = {}) { const rem
阅读全文
摘要:###定义模块 这一步很复杂,用几个流程图来梳理一下 createOptionsStore方法 createSetupStore方法 数据流向 最后整理下数据的流向变更,对于写pinia插件很有帮助 option写法版本 pinia.state.value[$id] --> 原生的state对象 s
阅读全文
摘要:###定义模块 store.ts文件的defineStore方法 判断是option写法还是setup写法 isSetupStore = typeof setup 'function' 内部创建useStore函数,并给函数绑定$id属性为用户设置的id,然后返回 用户在外部任意位置调用useSto
阅读全文
摘要:###初始化 createPinia.ts 主要有3步 effectScope生成了一个作用域在内部调用ref({})用来存储所有模块的state 创建了一个pinia实例,里面包含了use和install方法和一些关键属性 install内部使用vue的provide来传递pinia实例 use用
阅读全文