传播不可迭代实例的无效尝试(在React的reducer中)

时间:2020-10-13 18:54:22

标签: javascript reactjs object redux react-redux

我的处境很特殊,我需要一些帮助。

userData : {
 isValidCheckup: true,
 accounts: {
  userAccount: [
    {
      accountType: 'checkings',
      includeInCheckup: false
    },
    {
      accountType: 'checkings',
      includeInCheckup: false
    }
  ]
}

这是减速器。

case UPDATE_USER_DATA: {
  const newUserAccount = [...state.userData.userAccount] // ----ERRROR-----
  return {
   ...state,
   userData: {
     ...state.userData
   }
  }
} 

我在第const newUserAccount = [...state.userData.userAccount]行出现错误 它在控制台上显示以下错误

无效的尝试传播不可迭代的实例。为了可迭代,非数组对象必须具有Symbol.iterator方法

有人可以建议解决此问题的方法吗?我想遍历userAccount并更新accountType属性。那就是为什么我添加了const newUserAccount = [...state.userData.userAccount]

1 个答案:

答案 0 :(得分:3)

您的userAccount嵌套在accounts下,因此请尝试使用[...state.userData.accounts.userAccount]