>我有一个redux状态数组,其中包含一些个人信息。当我单击按钮时,此数组由新项目填充。示例数组如下
第一次点击
单击否 - 名称 - 年龄
1 - DAVID - 48
1 - JOSH - 21
1 - MARIA - 55
第二次单击后,我想查看我的数组,例如
1 - DAVID - 48
1 - JOSH - 21
1 - MARIA - 55
2 - JOHN - 70
2 - MICHAEL - 18
2 - SYLVESTER - 33
第三,第四....等。所以第一个列是按钮点击数。
但问题是所有旧数据都单击数字随新数字而变化,例如(第二次单击后(
2 - DAVID - 48
2 - JOSH - 21
2 - MARIA - 55
2 - JOHN - 70
2 - MICHAEL - 18
2 - SYLVESTER - 33
我从不将旧数据更改为数组,我只是放置新数据,我不明白为什么旧的 CLICIK 数字会随着新的点击次数而变化
我尝试过的 Redux 代码
case "ADDNEWDATA": {
let arr = [...state.mydata];
arr = [...arr, action.payload.newdata]
return Object.assign({}, state, { mydata: arr })
}
或
case "ADDNEWDATA": {
let arr = [...state.mydata];
action.payload.newdata.map((item) => {
arr = arr.push(item)
})
return Object.assign({}, state, { mydata: arr })
}
或
case "ADDNEWDATA": {
return Object.assign({}, state, { mydata: [...state.mydata, action.payload.newdata] })
}
我认为我没有代码问题,但数组似乎不是那么:(
我想帮忙,但我无法从上面理解你在做什么。所以你在第一次点击后声明是 {mydata:[{},{}, {}]} ?你的有效载荷将是一个新的 [{}, {}, {}] 数组,所以如果你只返回 [].concat(state.mydata, payload( ?