我有一个 redux 减速器,如下所示:
function x(state = null, action){
switch(action){
case 'FILTER_DATA': {
let { data } = state;
let newData = someOperation(data);
let s1 = deepCopy(newData);
let s2 = s1.filter((v,i) => i%2);
return {
...state,
v1: s1,
v2: s2
};
}
}
}
如果 s1 是一个嵌套对象数组 - 那么 s2 内部的一些深度引用也将指向内存中的同一个对象。
减速器返回修改状态是否可以 - 其中 2 个键几乎指向同一个对象?它是否使减速器不纯并且整体代码功能不正确?