GraphQL,Redux,React。按间隔保存状态

时间:2017-04-25 06:22:49

标签: reactjs redux graphql apollo graphcool

大家好,

我正在React / Redux和GraphQL / GraphCool中构建一个“复杂的”社交英语词汇'游戏'

最佳做法是在应用程序处于活动状态时仅将所有状态保存到redux,并且仅以5/10分钟间隔和/或用户退出应用程序时将用户/游戏状态调度到后端?

感觉就像改变每个州的变化可能会产生不必要的许多请求?

我在这里思考正确的方向吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

很棒的问题。

这取决于您尝试使用自己的应用实现的目标。它归结为用户离开应用程序的频率,以及您希望保存它的频率。

如果用户在5-10分钟的时间间隔内离开应用程序,并且您的网站没有保存它,那将是相当差的用户体验,因为该用户将回来发现他们忘记了他们在游戏。因此,诀窍在于找到一次可以批量处理多少的余额以及多长时间,如果在任何给定时间他们关闭应用程序,用户不会觉得他/她的操作没有被保存。

希望这有帮助!

答案 1 :(得分:1)

有趣的想法,我认为你绝对可以让它发挥作用。但是,我认为您可能会发现这些请求相当便宜,并且您应该延迟优化,直到您发现需要它为止。如果没有必要,那么花在这上面的时间就是浪费。

我担心您可能会遇到因试图限制通话而不限制可用性而引起的并发症,其方式多于您最初的预期。

除非你在开始编程之前已经计划好了所有内容,否则请先(1)使其正常工作,(2)使其正确,(3)快速完成,最后一步将包括任何降低成本的优化。