Redux更新整个阵列

时间:2017-07-04 17:26:13

标签: reactjs redux

我试图找出Redux的商店收到新数据后我的组件未更新的原因。 Github问题似乎表明我在没有返回它的情况下改变了对象,但我还没有找到如何用整个数组做到这一点。

这是我目前的代码。

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 个答案:

答案 0 :(得分:1)

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