我正在使用 redux 来构建一个小的 fusball-manager。基本上它是一个页面,显示两个团队的分数和一些增加它们的按钮。我有类似{ type:"GOAL_UP", team:"red" }
的动作,reducer 将更改状态中的相应值(分数)。
现在我想添加一个史诗,每当它遇到GOAL_UP
检查两支球队中的一支是否赢得比赛时。如果一个团队的分数达到了 8,我希望它派出一个GAME_WON
动作。我的问题是我必须访问状态才能知道每个团队的得分。我找不到从史诗中访问状态的方法。
访问状态是否超出了 redux-observable 的范围?如果是这样,你将如何解决这个问题?
我正在考虑将新分数作为GOAL_UP
动作中的属性。像这样的东西{ type:"GOAL_UP", team:"red", newScore:8 }
。但不知何故,这感觉不对。我还在 fusball-table 上有两个物理按钮,它们与 web 套接字连接,用于调度GOAL_UP
动作。因为它们不是从我的用户界面触发的,所以它们不知道状态。
如果任一团队的得分为 8,我也可以考虑GAME_WON
在我的 ui 组件的渲染函数中调度操作。但这感觉更错误:)
非常欢迎输入,谢谢