我试图更新redux状态中的对象数组,
汽车减速机状态
cars: [
{
_id:"5b61b782719613486cdda7ec",
car: "BMW",
year: '2015'
},
{
_id:"5b61b782719613486cdda7e1",
car: "Toyota",
year: '2015'
},
{
_id:"5b61b782719613486cdda7e2",
car: "Honda",
year: '2015'
},
{
_id:"5b61b782719613486cdda7e3",
car: "Audi",
year: '2015'
}
]
action.payload数组
action.payload :
[
{
_id:"5b61b782719613486cdda7ec",
car: "BMW",
year: '2019'
},
{
_id:"5b61b782719613486cdda7e3",
car: "Audi",
year: '2019'
}
]
case UPDATE_CARS:
const updatedCars = state.cars.map((car) => {
action.payload.forEach((newCars, index) => {
if (car._id !== newCars._id) {
//This is not the item we care about, keep it as is
return car;
} else {
//Otherwise, this is the one we want to return an updated value
return { ...car, ...newCars };
}
});
});
return {
...state,
cars: updatedCars,
loading: false
};
正如你所看到的那样,我只是在redux状态中存在item时才尝试更新redux数组中的多个项目 .
我做错了什么建议?