【发布时间】:2021-11-15 15:48:57
【问题描述】:
在这里,我正在尝试使用 reducer 更新我的状态数据。我通过分派发送一个对象,该对象由 id 和一些数据组成。通过这个 id,我正在尝试更新我的状态的特定对象。我的状态减速器是,
case "UPDATE_USER_SUCCESS":
return {
...state,
users: state.users.map((user) => {
if (user.id !== action.payload.id) {
return user;
} else {
return {
...user,
...action.payload,
};
}
}),
};
这里是动作,
export const updateUser = (updatedUser) => (dispatch, getState) => {
dispatch({
type: "UPDATE_USER_SUCCESS",
payload: updatedUser,
});
console.log(updateUser);
localStorage.setItem(
"Users",
JSON.stringify(getState().addUserReducer.users)
);
};
我的调度是从这里开始的,
const formHandler = (e) => {
e.preventDefault();
dispatch(updateUser(updatedUser));
console.log(name + email + phone + roles);
};
【问题讨论】:
-
你在哪里使用这个
users数组?请也分享该组件的代码,以及您如何调度此操作的代码。 -
这里的地图功能可以吗?
-
地图功能一目了然。您面临的问题是什么?
-
map函数似乎正确 -
请再检查一遍,我已经添加了我的动作和调度功能。
标签: javascript reactjs redux react-redux state