[存疑很久]全局数据变更触发多个页面视图的更新?
发布于 6 年前 作者 xiuyingshi 20004 次浏览 来自 问答

小程序端没有redux或者vuex之类的状态管理。可的确很多页面都依赖于全局状态。想知道大家是怎么处理的。

目前,简单粗暴的处理就是,依赖到全局状态的页面每次 onshow 都重新 setData 一次 😂。

然后本想写一个简单点的 eventEmitter 来处理,可卡在了一个点。 我们知道,小程序端是分为渲染层和逻辑层的, 从这个点上说在于小程序端应该不推荐对于后台页面也进行 setData 操作吧。    比如,一个状态被3个页面所依赖,理轮上说,此状态的改变,3个页面都应该更新视图,但假如两个页面是切后台了,一个前台,这个时候三个页面都需要 setData 了, 矛盾点就在于那两个切后台的页面去 setData 的话,岂不是有性能问题。那又该如何处理好呢?

这个需求非常常见吧,大家是如何处理的呢? 真的是存疑很久很久了。

1 回复

目前我们这边也是使用发布/订阅,没能解决掉后台页面的setData问题。

回到顶部