如果您正在使用Redux,并且您有一个处于状态的阵列,但是您希望防止重复项目进入该阵列,那么您是否应该防止在reducer 或<中的数组中添加重复项/ strong>这是应该在动作创建者中完成的吗?
答案 0 :(得分:4)
通常,Redux操作创建者应该避免了解应用程序状态as the author of Redux, Dan Abramov, describes:
一般情况下,在动作创建者中访问状态是一种反模式,你应该尽可能避免这种情况。
Redux的最佳实践要求动作创建者只是创建一个动作来表示发生的事情,而不考虑这将如何影响状态。换句话说,一个动作意味着“发生了什么事”,而不是“状态需要改变”;如果不相关,可以完全忽略一个动作。
另一方面,reducer specifically intended是前一个状态和动作的纯函数,所以它完全可以判断一个动作是否需要状态变异。
因此,总而言之,reducer可能是最佳选择,因此您的动作创建者可以保持“瘦身”。