【发布时间】:2021-01-29 17:00:06
【问题描述】:
目前我有一个 redux 操作 getUsers() 来获取所有用户。
export function getUsers (params) {
return async dispatch => {
await dispatch({ type: 'GET_USERS_REQUEST' });
const urlParams = params ? new URLSearchParams(Object.entries(params)) : null;
return axios({
method: 'get',
url: Environment.GET_USERS+ `?${urlParams}`,
headers: { 'Content-Type': 'application/json' },
}).then (async res => {
await dispatch({ type: 'GET_USERS_SUCCESS', allUsers: res.data.Data });
}).catch (err => {
dispatch({ type: 'GET_USERS_FAILURE', error: err.toString() });
});
}
}
现在我想使用相同的 getUsers() 但带有参数 id(例如 getUsers({ UserId: 'jamesbond007' })),
在行动中我想dispatch({ type: 'GET_USER_BY_ID_SUCCESS', user: res.data.Data })
如何使用相同的 api 调用调度不同的操作?我应该复制相同的代码但更改操作调度吗?如果这样做,它将成为重复功能。
【问题讨论】:
标签: javascript reactjs redux