【发布时间】:2021-02-19 19:28:07
【问题描述】:
我的状态有一个对象数组,每次触发动作RECIPE_UPDATED 时,都会向数组中添加一个新对象。数组的第一项由操作FIRST_RECIPE 生成。请参阅下面的操作和减速器。
问题发生在每次调用动作 RECIPE_UPDATED 时,它会将新项目添加到数组中,但它也会更改之前数组中的最后一个项目,到目前为止我无法理解为什么它表现为这样的。
这些是动作创建者:
export const getFirstRecipe = (recipe) => ({
type: "FIRST_RECIPE",
payload: recipe,
});
export const updateRecipe = (data) => ({
type: "UPDATED_RECIPE",
payload: data,
});
这些是减速器:
const recipeHistoryReducer = (state = [], action) => {
switch (action.type) {
case "FIRST_RECIPE":
return [action.payload];
case "UPDATED_RECIPE":
return [...state, action.payload];
default:
return state;
}
};
export default recipeHistoryReducer;
任何想法如何解决这个问题?
【问题讨论】:
标签: arrays react-redux state store