上下文:
我正在做一个小的";谷歌驱动器";网络应用程序。我存储用户及其对象。如果你购买了订阅,有些功能是高级的。最近,我开始使用redux,因为我厌倦了"水滴";像uid
这样的东西从组件树的顶部通过props到底部。
问题:
我的初学者常识说"我应该获取订阅状态一次,将其存储在本地,并且永远不要再次获取另一个订阅状态"。但从那以后,我遇到过这样的情况,比如说,用户升级了他们的订阅,或者订阅过期了,真相的来源发生了变化,但当地政府没有
基本上,我有一个特定的情况,我可以从API获取用户状态。每次我加载一个特定组件(如登录页(,或者我可以获取一次,只是非常小心地保持本地状态最新。
我最担心的是出现不同步状态,比如用户无法访问他们刚刚购买的功能。
问题
一般来说,我应该什么时候:
- 以冗余调用和等待时间为代价,直接从真相来源获取状态
与
- 在本地存储尽可能多的状态,以在尝试保持更改状态最新时增加复杂性为代价
经验法则,最佳实践,欢迎任何建议!
在我看来,您也应该在本地存储订阅状态,如果用户升级,只需确保如果升级付款(或其他条件(成功,则刷新订阅状态。
这之所以可行,是因为用户不需要频繁升级或修改其订阅状态。