react-redux 上 slice() 的问题
problems with slice() on react-redux
我正在尝试使用 slice() 复制一个状态,然后对其进行操作并创建一个新状态
这是我的 Reducer:
case types.LOAD_AMOUNT_CHECKINS_SUCCESS: {
let buildings = state.buildings.slice();
buildings['devices_error'] = action.checkins['error];
.
.
.
return Object.assign({}, state,
{buildings: buildings}
);
}
但应用 slice() returns 我:[]
哪里出错了?
要制作浅拷贝,您只能在数组上调用 slice()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
在您的代码示例中,您是在对象而不是数组上调用它。
假设 state.buildings
是一个对象(而不是数组),将第二行更改为:
case types.LOAD_AMOUNT_CHECKINS_SUCCESS: {
let buildings = Object.assign({}, state.buildings);
buildings['devices_error'] = action.checkins['error];
.
.
.
return Object.assign({}, state,
{ buildings: buildings }
);
}
我正在尝试使用 slice() 复制一个状态,然后对其进行操作并创建一个新状态
这是我的 Reducer:
case types.LOAD_AMOUNT_CHECKINS_SUCCESS: {
let buildings = state.buildings.slice();
buildings['devices_error'] = action.checkins['error];
.
.
.
return Object.assign({}, state,
{buildings: buildings}
);
}
但应用 slice() returns 我:[]
哪里出错了?
要制作浅拷贝,您只能在数组上调用 slice() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
在您的代码示例中,您是在对象而不是数组上调用它。
假设 state.buildings
是一个对象(而不是数组),将第二行更改为:
case types.LOAD_AMOUNT_CHECKINS_SUCCESS: {
let buildings = Object.assign({}, state.buildings);
buildings['devices_error'] = action.checkins['error];
.
.
.
return Object.assign({}, state,
{ buildings: buildings }
);
}