Redux更新具有多个参数的对象

时间:2018-05-23 12:40:02

标签: javascript redux

你好,我有这样的减速机

case UPDATE_USER: {
  return {
    ...state,
    ...action.newDataUser,
  }
}

我的对象用户是:

 {
    name: 'azerty',
    email: 'azerty@yopmail.com',
    birthday: '1990'
 }

我有更新用户对象的操作:

export function updateUser(newDataUser) {
  return { type: UPDATE_USER, newDataUser }
}

如何修改我的Reducer UPDATE_USER以更新具有多个属性的用户对象:

{
   name: 'azerty updated',
   email: 'azerty@yopmail.com updated',
}

由于

1 个答案:

答案 0 :(得分:-1)

您可以手动更新所需的属性

case UPDATE_USER: {
  let user = action.newDataUser;
  ['name', 'email', 'birthday'].forEach(key => {
     user[key] = `${user[key]} updated`;
  });
  return {
    ...state,
    ...user,
  }
}