Arrays 将项添加到数组(状态),它将更新状态中的上一条记录

Arrays 将项添加到数组(状态),它将更新状态中的上一条记录,arrays,react-redux,state,store,Arrays,React Redux,State,Store,我的状态有一个对象数组,每次触发动作RECIPE\u UPDATED,都会向数组中添加一个新对象。数组的第一项是由动作first\u RECIPE生成的。请参阅下面的操作和减速器 问题发生在每次调用actionRECIPE\u UPDATED时,它都会将新项添加到数组中,但它也会更改以前在数组中的最后一项,到目前为止,我无法理解它为什么会这样做 以下是行动创造者: export const getFirstRecipe = (recipe) => ({ type: "FIRS

我的状态有一个对象数组,每次触发动作
RECIPE\u UPDATED
,都会向数组中添加一个新对象。数组的第一项是由动作
first\u RECIPE
生成的。请参阅下面的操作和减速器

问题发生在每次调用action
RECIPE\u UPDATED
时,它都会将新项添加到数组中,但它也会更改以前在数组中的最后一项,到目前为止,我无法理解它为什么会这样做

以下是行动创造者:

export const getFirstRecipe = (recipe) => ({
  type: "FIRST_RECIPE",
  payload: recipe,
});

export const updateRecipe = (data) => ({
  type: "UPDATED_RECIPE",
  payload: data,
});
a这些是减速器:

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;
有什么办法解决这个问题吗?

问题解决了

它与减速器或动作完全无关。整个问题是一个错误,我在没有使用spread运算符的情况下,将带有值的对象分配到一个新变量中,因此整个过程立即发生了更改

问题解决了。 乔治

问题解决了

它与减速器或动作完全无关。整个问题是一个错误,我在没有使用spread运算符的情况下,将带有值的对象分配到一个新变量中,因此整个过程立即发生了更改

问题解决了。 豪尔赫