Как я могу ввести создателя действия Redux thunk?

#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 принимает номер.