Redux的动机:变异和异步性的例子

时间:2019-07-15 06:44:00

标签: javascript redux

要了解Redux的动机,我阅读了官方链接https://redux.js.org/introduction/motivation和此stackoverflow问题Explain Redux : mutation and asynchronicity,但由于两个链接均缺少示例,因此我无法获取它。 Googling也没有提供任何有关突变和异步性组合的示例。

我想要的是现实生活中的Web应用程序示例,其中突变和异步性的组合非常混乱。每个页面/博客都只是轻松地从管理状态开始,但它们缺少真正的Web应用程序示例,例如突变和异步组合说明(动机)。谁能给我榜样。

  

动机在说:我们正在混合两个非常困难的概念   对于人类的思想进行推理:变异和异步。一世   称他们为Mentos和可乐。两者都可以很好地分开,但是   他们在一起造成混乱。。谁能给出真实的例子吗?

1 个答案:

答案 0 :(得分:3)

通过异步和突变,您将失去用于管理状态的“单一真相”。

假设您将全局计数器初始化为0。您还有2个具有异步处理程序的按钮组件,inc和dec影响全局计数器。

如果我单击inc,inc,dec;计数器在任何时候的价值是什么?

我们无法知道哪些事件已经被b / c触发,因此不能保证它们会按顺序进行。因此,如果我查看计数器值1,是否为b / c:

已解决:inc

待审核:公司,十二月

已解决:inc,inc,dec

具有异步功能和可变状态,除非什么都没有发生,否则您永远不会真正知道状态是什么。