2017-07-04 133 views
0

我想知道为什么我的组件在Redux的商店收到新数据后没有更新。 Github的问题似乎表明我在不返回对象的情况下对对象进行变异,但是我一直无法找到如何对整个数组进行这种操作。Redux更新整个阵列

这是我目前的代码。

initialState = [] 
... 
switch(action.type) { 
    case "SET_STORIES": { 
    state = [...action.payload]; // data is an array of objects. 
    // does not work either: state = [...state, action.payload]; 
    break; 
    } 
} 
return state; 

在同样的命令,我也想覆盖整个数组,如果有以前的数据存在。

这是正确的吗? (控制台日志记录更新后的阵列,但这是否意味着它被返回到组件?)

回答

1

很难说没有整个代码,这段代码确实看起来不错,至少只要有效载荷是不可变对象数组。但是,如果它是可变对象数组,并且例如您的有效载荷携带与之前状态相同的对象的数组,但发生了变异,则显示每个元素的详细信息的子组件可能无法识别更改。

+1

感谢您的回答。原来它可变类型:( – dmr07