我有一个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 NUMBER随着NEW CLICK NUMBER发生变化
我尝试过的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] })
}
我认为我没有代码问题,但数组似乎不是这样的((
答案 0 :(得分:0)
我想提供帮助,但是根据以上内容,我无法理解您在做什么。因此,您要在第一次点击后声明{mydata:[{},{},{}]}?而且您的有效负载将是[[},{},{}]的新数组,因此,如果您只返回[] .concat(state.mydata,payload)?