使用Redux防止重复的最佳做法是什么?

时间:2016-10-14 19:36:48

标签: javascript redux

如果您正在使用Redux,并且您有一个处于状态的阵列,但是您希望防止重复项目进入该阵列,那么您是否应该防止在reducer 或<中的数组中添加重复项/ strong>这是应该在动作创建者中完成的吗?

1 个答案:

答案 0 :(得分:4)

通常,Redux操作创建者应该避免了解应用程序状态as the author of Redux, Dan Abramov, describes

  

一般情况下,在动作创建者中访问状态是一种反模式,你应该尽可能避免这种情况。

Redux的最佳实践要求动作创建者只是创建一个动作来表示发生的事情,而不考虑这将如何影响状态。换句话说,一个动作意味着“发生了什么事”,而不是“状态需要改变”;如果不相关,可以完全忽略一个动作。

另一方面,reducer specifically intended是前一个状态和动作的纯函数,所以它完全可以判断一个动作是否需要状态变异。

因此,总而言之,reducer可能是最佳选择,因此您的动作创建者可以保持“瘦身”。