我认为useSelector中的equalsFn不能正常工作。它适用于简单的字符串/数字,但不适用于对象和数组。在这种情况下,它总是使“ item”和“ prevItem”相等。检查示例here:
var path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)?.Replace("file:\\", "");
答案 0 :(得分:4)
state.count.push('1')
请勿更改状态。
redux的core concepts之一是状态是不可变的。由于状态被假定为不可变的,因此仅需超快速引用相等性检查(即===
)即可确定状态是否已更改。如果您通过使状态发生变异而违反了该假设,则之前的状态和之后的状态是同一对象,因此看起来实际上没有任何更改。
相反,创建一个新数组。使用传播语法,您可以这样做:
case 'INC':
return {
...state,
count: [...state.count, '1']
}
另请参见此页面上的建议:Immutable Update Patterns