Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用reducer将对象添加到数组中_Javascript_Arrays_Reactjs_Redux_Immutability - Fatal编程技术网

Javascript 如何使用reducer将对象添加到数组中

Javascript 如何使用reducer将对象添加到数组中,javascript,arrays,reactjs,redux,immutability,Javascript,Arrays,Reactjs,Redux,Immutability,//我需要使用reducer for contact book将对象添加到数组中 //减速器 const addContact = (contacts = [], action) => { let contactsArr = [{}]; if (action.type = "ADD_CONTACT") { return [...contactsArr, action.payload]; } return contacts; }; 行动 export const a

//我需要使用reducer for contact book将对象添加到数组中

//减速器

const addContact = (contacts = [], action) => {
  let contactsArr = [{}];
  if (action.type = "ADD_CONTACT") {
    return [...contactsArr, action.payload];
  }
  return contacts;
};
行动

export const addContactRed = contact => {
  return {
    type: "ADD_CONTACT",
    payload: contact
  };
};


{
type:"ADD_CONTACT",
payload:{name:"xyz",phonenum:10101001}
}

{
type:"ADD_CONTACT",
payload:{name:"abc",phonenum:0101001}
}
//在分派两个动作之后,我想要的最后一个数组是

//联系人

[
{name:"xyz",phonenum:10101001},
{name:"abc",phonenum:0101001}
]


您不必使用ton init let contactsArr=[{}];它将重置减速器中的存储值。只需使用contact store变量

const addContact = (contacts = [], action) => {
 // if (action.type = "ADD_CONTACT") {
  if (action.type === "ADD_CONTACT") {
    return [...contacts, action.payload];
  }
  return contacts;
};

如果(action.type=“ADD_CONTACT”){出现错误,则此行
。这不是进行比较,而是分配值您的第一个代码块将始终将空对象添加到还原器状态是的,如果(action.type==“ADD_CONTACT”),则该行是错误的。谢谢。。。