Reactjs 无法正确更新react redux状态(阵列)

Reactjs 无法正确更新react redux状态(阵列),reactjs,redux,react-redux,Reactjs,Redux,React Redux,对于redux阵列,我有以下状态更新函数 if (replace) { return { ...state, mySelectionOtrosFiltros: items } } else { return { ...state, mySelectionOtrosFiltros: state.mySelectionOtrosFiltros.concat(a[0]) } } 如果replace为false,则

对于redux阵列,我有以下状态更新函数

if (replace) {
    return {
      ...state,
      mySelectionOtrosFiltros: items
    }
  } else {
    return {
      ...state,
      mySelectionOtrosFiltros: state.mySelectionOtrosFiltros.concat(a[0])
    }
  }
如果replace为false,则状态更新工作正常,我可以看到它正在更新

但是如果repace为true,我想用名为
items

但这个案子不起作用

我可以看到state.mySelectionRosFiltros正在更新,但它没有重新命名,所以我想我弄乱了不稳定性。只有当我触发else语句时,才会正确地呈现它,在这种情况下,添加了新元素,并且现在显示了以前的更新

非工作案例示例

mySelectionOtrosFiltros = [{a: 1 , b: 2, c: 3}]

items = [{a: 2, b: 2, c: 2},{a:4 , b: 4, c: 4}]
MySelectionOntrosFiltros应该完全替换为items,因此它看起来像items

return {
      ...state,
      mySelectionOtrosFiltros: items
    }

它不会被替换

您需要共享完整的代码,以便真正确定代码的哪些部分违反了不变性

尽管如此,您仍然可以通过创建
项的新副本来进行快速尝试,如下所示

if(替换){
返回{
……国家,
MySelectionOntrosFiltros:[…项目]
}
}

如果确实是由于变异,上述代码应该可以解决您的问题

如果不知道您如何计算
项目