我试图找出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;
在同一命令中,如果存在先前的数据,我也想覆盖整个数组。
这是对的吗? (控制台日志记录更新的数组,但这是否意味着将其返回到组件?)
答案 0 :(得分:1)
如果没有完整的代码,很难说这个片段确实看起来不错,至少只要有效负载是不可变对象的数组。但是,如果它是可变对象的数组,并且例如您的有效负载携带与先前状态相同的对象的数组,但是已经变异,则显示每个元素的详细信息的子组件可能无法识别更改。