【发布时间】:2021-11-24 09:29:17
【问题描述】:
我正在使用 react 和 redux,并希望将每个 'volume' 键值减少 0 到 20 之间的随机数(均包括在内),然后更新状态数组。
我的数组是这样的:
const arr = [
{id: 1, volume: 100, isEmpty: false},
{id: 2, volume: 100, isEmpty: false}
]
这是我的行动:
const decrementAction = () => {
return {
type : 'DECREMENT'
}
}
我的减速器是这样的:
const containers = (state = arr, action) => {
switch(action.type){
case 'DECREMENT':
const randomNumber = Math.floor(Math.random() * 20) + 0;
const newArr = arr.map(item => {
const newObj = {
...item,
volume : item.volume - randomNumber
}
return newObj;
});
state = newArray
}
};
我在运行我的代码时遇到了几个问题:
1 - 每个值都是相同的,而不是为每个对象获取一个随机值(已解决)
2 - 值同时递增和递减,而不是仅递减
请问,我做错了什么?
谢谢
【问题讨论】: