如何构建一个状态管理工具

95 阅读1分钟

构建一个vuex其实也是非常简单的。

构建vuex首先需要创建一个小型的Pub/Sub模式(发布订阅者模式),其次是定义核心对象Store。

Pub/Sub模式的作用:为了创建一个响应式流程,Pub/Sub模式会遍历所有的订阅,并触发其回调,同时可以传入相关荷载。

Store对象的作用:主要是用Proxy代理state对象和提供commit和dispatch方法,如果state有状态发生变化,就会用PubSub模块发布一个事件。任何订阅了该事件的回调将被调用。

接下来需要做的事情就是实现Pub/Sub模式、仓库Store。

Pub/Sub模式的核心就是创建一个PubSub类,在此类中,我们需要定义两个方法,一个是subscribe(订阅)方法,另一个是publish(发布)方法。

Store仓库,需要在里面创建一系列初始化的属性、对象和方法。初始化的属性有status,对象有state、mutations、actions,方法有:commit、dispatch。

需要实现的东西就这么多,这里是一个基本思路,具体的实现过程可以参考下一篇文章,用法和我们vuex的用法基本一致。