#reactjs #typescript #redux #redux-thunk #react-typescript
Вопрос:
Я определил эти типы, действия, интерфейсы и создателя действий :
export type Actions = AddUser | DeleteUser;
export interface AddUser {
type: ActionTypes;
payload: string;
}
export interface DeleteUser {
type: ActionTypes;
payload: number;
}
export enum ActionTypes {
ADD_USER = 'ADD_USER',
DELETE_USER = 'DELETE_USER',
}
export const addUser = (name: string): AddUser => {
return {
type: ActionTypes.ADD_USER,
payload: name,
};
};
export const deleteUser = (index: number): DeleteUser => {
return {
type: ActionTypes.DELETE_USER,
payload: index,
};
};
export const dispatchActions = (action: Actions) => {
// Todo: dispatch type
return (dispatch: Dispatch<Actions>) => {
switch (action.type) {
case ActionTypes.ADD_USER:
dispatch(actions.addUser(action.payload));
break;
case ActionTypes.DELETE_USER:
dispatch(actions.deleteUser(action.payload));
break;
default:
break;
}
};
};
Как я могу определить создателя действия, чтобы он мог распознать правильный тип действия.полезная нагрузка, которую я хочу передать addUser() или deleteUser()
потому что addUser принимает полезную нагрузку строки, а deleteUser принимает номер.