在动作创建者中增加变量

时间:2018-01-30 00:06:48

标签: javascript reactjs redux react-redux

我最近在看Dan Abramov redux系列,一集让我真的好奇。在这一集中 - Redux: Extracting Action Creators,时间码:00:32~1:32他将动作创建者作为一个单独的函数(就像通常在典型的redux应用程序中看到的那样),因为:

  

...但是,如果另一个组件想要调度add todo会怎样   行动?它需要以某种方式访问​​下一个 todo ID

但这实际上是否有意义?在该特定示例中,import变量(始终递增)可用于jsbin内的所有组件,即使我们不将动作创建者提取到函数中。

即使我们想象它将在一个单独的文件(动作创建者)中,在每个mutate上,该变量将等于初始值(0),从而打破它唯一性概念。

那么,他的意思是什么?这种方法(将动作创建者作为单独的函数)将如何保证我们对 next todo id变量的访问?

1 个答案:

答案 0 :(得分:0)

你专注于错误的方面。这是一个公平的观点,这是存储“当前ID”的一种可怕方式,但这并不是他所展示的重构的目的。

真正的目的是组件应尽可能与其上下文无关。尝试“addTodo”的组件实际上不应该关注“当前最大待办事项ID是什么?”。

相比之下,actionCreator 与此方面有关。它从组件中获取数据,然后负责将其转换为具有实际价值的可调度调用。