实现一个vuex

设计理念:

  • 集中式管理

  • 状态可预测

 

之所以的可预测的:是因为这个就是一个单向数据流,不管是直接进程commit还是通过异步的action来进行修改,最后都要通过commit给mutation然后再对state里面的数据进行变化的,所以我们就可以在这个commit的过程中,实现一些 拦截、监听器、中间件,这样就可以预测状态的改变监听状态的改变了

这个就是状态可预测的原因了

 

之所以把state修改了,组件中使用了这个vuex里面的数据也会改变是因为,把state里面的数据声明为了响应式的,所以通过mutation修改state之后,数据的依赖就会重新执行render方法,这样就可以进行修改state然后依赖也会改变了,这样就可以得到一个虚拟DOM,然后就和真实DOM进行diff比较,再进行DOM树修改即可重新进行渲染了

代码实现如下:

(13条消息) 实现一个vuex_gogogocj的博客-CSDN博客

posted @ 2021-10-30 16:34  SCAU-gogocj  阅读(47)  评论(0编辑  收藏  举报