【发布时间】:2019-04-15 16:24:26
【问题描述】:
//我需要使用reducer为通讯录添加对象到数组中
//减速器
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}
}
//调度两个动作后我想要的最终数组是
//contactsArr
[
{name:"xyz",phonenum:10101001},
{name:"abc",phonenum:0101001}
]
【问题讨论】:
-
这行
if (action.type = "ADD_CONTACT") {似乎是错误的。这不是做比较而是赋值 -
你的第一个代码块总是会添加一个空对象到 reducers 状态
-
是的,应该是 if(action.type==="ADD_CONTACT") 是错误的。谢谢...
标签: javascript arrays reactjs redux immutability