微信小程序中实现状态管理

出发点:之前起点小程序尝试的一个重要原因就是支持状态管理,虽然现在也支持了,但是其性能不是非常理想,且看到里面还是提了很多的,所以还是想着用原生来撸一个简单够用的。

状态管理中非常重要的点就是发布/订阅模式,发布/订阅模式的原理非常简单,一边发布,一边订阅。订阅者在事件中心注册具名事件和回调函数,发布者通知事件中心执行所有同名的回调函数。

事件中心(.)

既然需要提供事件注册(订阅)的功能,那么必然需要一个地方来存放所有的事件,同一个事件名可以有多个回调,那么显然数据结构如下:

所以事件中心的雏型如下:

订阅功能:在具名事件的回调数组中推入了一个新的回调,接受一个事件名和回调函数。

发布功能:调用对应事件名的所有回调函数,参数为事件名和回调参数。

该对象主要用于存储共享数据,当数据被更新时触发 事件。

:调用 ,可以执行一些异步的操作,然后调用

:调用

需求说明:在首页将一本书加入书架,书架列表自动更新。

订阅(书架页)

发布(首页)

© 版权声明
THE END
分享