首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flux商店改变其他商店

Flux商店改变其他商店
EN

Stack Overflow用户
提问于 2015-10-21 00:29:11
回答 1查看 57关注 0票数 0

我正在用Flux和React创建一个应用程序,这有点像游戏……这个应用程序有3个商店:

GameStore ->包含游戏状态,如已完成、玩家赢了多少次,以及以下内容

CounterStore ->是一个每隔1秒自动触发的倒计时存储,计数器组件会自我更新。

BlockStore ->这与游戏组件有关,它是用户可以交互的区块。

因此,每当我单击某个块时,我都会触发一个操作并将其放到BlockStore上。BlockStore会做一些魔术,并识别点击的区块是否正确,如果正确,它会更新GameStore (用户点击正确区块的次数)并更新CounterStore (这会增加用户的计时器)。

此外,每当CounterStore变为0时,它还会更改GameStore以设置用户丢失的值。

这感觉完全不对,我的商店他们以某种方式连接在一起。每个操作几乎改变了所有的存储,但一些操作依赖于存储结果来更改其他存储(这是令人困惑的:S)。

我想知道我这样做的方式是否正确,也许我应该把所有的东西都放在一个商店里(这会让它很难维护),或者移除一些商店,直接把一些东西当作一个组件状态(比如计数器)。

我在这里迷路了。

EN

回答 1

Stack Overflow用户

发布于 2015-10-21 03:27:33

取自https://facebook.github.io/flux/docs/overview.html

存储包含应用程序状态和逻辑。它们的角色有点类似于传统MVC中的模型,但它们管理许多对象的状态-它们不像ORM模型那样表示单个数据记录。它们也不同于Backbone的集合。不仅仅是简单地管理ORM式对象的集合,存储还管理应用程序中特定域的应用程序状态。

您的GameStore不应该包含每个块的信息。BlockStore应该保存数据块和与各个数据块相关的数据。既然你有其他数据来描述游戏的整体状态,我建议你有第二个商店,专门用来保存那个状态(即。将保持计数器、进行中/完成、记分等的StateStore )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33241956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档