在Redux
动作中,需要创建很多动作类型。许多操作可能集中在一个主题上,因此可能希望使用基于主题的前缀(如RECEIVE_SUBJECT_RELATIVES
(保持命名约定。这意味着很多长字符串。
我有一个想法让它更容易:
subjectActions = {relatives: new String("RELATIVES), children: new String("CHILDREN")}
anotherSubjectActions = {relatives: new String("RELATIVES), children: new String("CHILDREN")}
然后在reducer
中可以写
switch (action.type) {
case (subjectActions.relatives)
case (anotherSubjectActions.relatives)
这是可能的,因为subjectActions.relatives
===anotherSubjectActions.relatives
问题:有意义吗?它有什么重大缺陷吗?
谢谢!
不,您应该在此处比较字符串类型,而不是将它们视为对象。 不知道为什么首先要将它们视为对象。
其次,您应该专门使用我们新的官方 Redux 工具包包。 特别是,createSlice
API 消除了手动编写操作类型或操作创建者的需要。