在 redux 措辞错误中更新数组对象?

时间:2021-04-19 12:00:50

标签: javascript arrays json reactjs redux

我试图通过访问对象的索引来更新 react.js 中的数组对象。 我已编写此代码,但出现此错误。

<块引用>

解析错误:',' expected.eslint

            updateUserAvatar: (
          state,
          { payload: { id, avatar } }: PayloadAction<UpdateUserAvatar>
        ) => {
          const users = current(state.data.familyMembers)
          const user = users.find((user) => user.id === id) as DashboardFamilyMember
          const userIndex = users.findIndex((user) => user.id === id)
          return {
            ...state,
            data: {
              ...state.data,
              familyMembers: [
                ...state.data.familyMembers,
//where error occurs
               userIndex: {
                  ...user,
                  avatar: avatar,
                },
              ],
            },
          }
        },
      },

我知道我可以映射整个数组,但我很困惑为什么这不起作用。

1 个答案:

答案 0 :(得分:0)

您可以映射 familyMembers 数组并在找到 user.id 并更新该头像时进行更新。

const users = current(state.data.familyMembers)
const familyMembers = users.map(user => {
    if(user.id === id) {
       return { ...user, avatar };
    } else {
       return user;
    }
}
const userIndex = users.findIndex((user) => user.id === id)
return {
  ...state,
  data: {
     ...state.data,
     familyMembers: familyMembers,
   },
};
相关问题