Replace/update 开关盒中的数据
Replace/update data in Switch case
动作数据包含一个数组,我想根据id,用新的数据替换特定的数组。但事实证明,我没有更新一个数组,而是得到了 3 个包含其他数组的数组元素。
其他不符合id的记录应该保持不变
case UpdateOneBank:
return {
...state,
data: state.data.map((p) => p._id === action.data._id?action.data:state.data),}
数据状态
新数据
只更新一个数组,而不是将 3 in 添加到 2 remain 数组
case UpdateOneBank:
return {
...state,
data: state.data.map((p) => p._id === action.data._id?action.data:p),}
试试这个
您在 else 条件下返回了整个数据,而不是地图项。
解决方案
case UpdateOneBank:
return {
...state,
data: state.data.map((originalValue) => originalValue._id === action.data._id? action.data: originalValue),}
错误
而不是这样做:
case UpdateOneBank:
return {
...state,
data: state.data.map((originalValue) => originalValue._id === action.data._id? action.data: state.data),}
原因
Note: Everytime you are entering in else condition, you are pushing/returning your own
state.data array
动作数据包含一个数组,我想根据id,用新的数据替换特定的数组。但事实证明,我没有更新一个数组,而是得到了 3 个包含其他数组的数组元素。
其他不符合id的记录应该保持不变
case UpdateOneBank:
return {
...state,
data: state.data.map((p) => p._id === action.data._id?action.data:state.data),}
数据状态
新数据
case UpdateOneBank:
return {
...state,
data: state.data.map((p) => p._id === action.data._id?action.data:p),}
试试这个
您在 else 条件下返回了整个数据,而不是地图项。
解决方案
case UpdateOneBank:
return {
...state,
data: state.data.map((originalValue) => originalValue._id === action.data._id? action.data: originalValue),}
错误
而不是这样做:
case UpdateOneBank:
return {
...state,
data: state.data.map((originalValue) => originalValue._id === action.data._id? action.data: state.data),}
原因
Note: Everytime you are entering in else condition, you are pushing/returning your own
state.data array