要了解Redux的动机,我阅读了官方链接https://redux.js.org/introduction/motivation和此stackoverflow问题Explain Redux : mutation and asynchronicity,但由于两个链接均缺少示例,因此我无法获取它。 Googling也没有提供任何有关突变和异步性组合的示例。
我想要的是现实生活中的Web应用程序示例,其中突变和异步性的组合非常混乱。每个页面/博客都只是轻松地从管理状态开始,但它们缺少真正的Web应用程序示例,例如突变和异步组合说明(动机)。谁能给我榜样。
动机在说:我们正在混合两个非常困难的概念 对于人类的思想进行推理:变异和异步。一世 称他们为Mentos和可乐。两者都可以很好地分开,但是 他们在一起造成混乱。。谁能给出真实的例子吗?
答案 0 :(得分:3)
通过异步和突变,您将失去用于管理状态的“单一真相”。
假设您将全局计数器初始化为0。您还有2个具有异步处理程序的按钮组件,inc和dec影响全局计数器。
如果我单击inc,inc,dec;计数器在任何时候的价值是什么?
我们无法知道哪些事件已经被b / c触发,因此不能保证它们会按顺序进行。因此,如果我查看计数器值1,是否为b / c:
已解决:inc
待审核:公司,十二月
或
已解决:inc,inc,dec
具有异步功能和可变状态,除非什么都没有发生,否则您永远不会真正知道状态是什么。