【发布时间】:2021-08-31 02:24:48
【问题描述】:
我正在尝试使用上下文 API 更新用户数据 - 我让它工作了,所以它根据他们的 userId 单独执行它 - 所以从这个意义上说
如果我想更新用户的头像,我可以这样做
case 'UPDATE_USER_AVATAR':
const { userId, avatar } = action.user
const user = {
...state.users.find((c: User) => c.userId === userId),
avatar,
}
return {
...state,
users: state.users.map((c: User) => {
return c.userId !== userId ? c : user
}),
}
然后我像这样更新用户名
case 'UPDATE_USER_NAME':
const { user_id, name } = action.user
const userName = {
...state.users.find((c: User) => c.userName === user_id),
name,
}
return {
...state,
users: state.users.map((c: User) => {
return c.userName !== user_id ? c : userName
}),
}
这对我有用,但现在我无法添加更多内容 - 例如,我想添加可能更改用户的电话号码或其他内容 - 我必须为此创建另一个新的减速器 - 有吗一种我可以在一个减速器中完成这一切的方法,而不是为不同的情况创建多个?
【问题讨论】:
标签: reactjs redux reducers context-api