跨状态树的不同分支更新依赖状态的最佳实践?

时间:2018-12-03 07:57:34

标签: redux

我处于这种状态:

  • 用户:[{money:1}]
  • 产品:[{{id:'x',价格:5},{id:'y',价格:1}]
  • 购买的产品:[]

我想添加一个动作{type: "buyProduct", productId: "x"},它将添加一个新产品并从用户那里扣除钱。但是每个分支(用户/产品/购买的产品)有3种不同的减速器。

比方说,现在我添加了一个新产品“ x”,它的价格为5,它不应删除资金,也不应添加该产品。请注意,这5个来自products分支。因此,用户和PurchaseProducts无法从操作本身中确定价格,因为它仅包含ID,而不包含价格。

我的真实示例有点复杂,但本质上相似。

解决方案:

  • A)一种解决方案是为所有分支机构都配备根减少器,但感觉不对。还有其他解决方案吗?
  • B)再次执行“ requestPurchase”操作,如果我可以购买或不购买该产品,则会进行计算。问题在于,如果同时有2个requestPurchase,则可能会有一些并发问题,因为即使没有足够的钱,这也会使两个动作都通过。

0 个答案:

没有答案