@DanceMonkeyTime

Как мне лучше всего оформить Union types для екшенов?

Есть у меня enum с названиями екшенов:
export enum ResearchActionTypes {
  SAVE_CATEGORY = 'SAVE_CATEGORY',
  SAVE_PROJECT_NAME = 'SAVE_PROJECT_NAME',
  SAVE_BRIEF = 'SAVE_BRIEF',
  SAVE_USER_INFO = 'SAVE_USER_INFO',
  UPDATE_LOCAL_PATH = 'UPDATE_LOCAL_PATH',
  SAVE_REPORT_TYPE = 'SAVE_REPORT_TYPE',
  SAVE_OBJECTIVES = 'SAVE_OBJECTIVES',
  SAVE_ACTIVE_CHAPTER = 'SAVE_ACTIVE_CHAPTER',
  SAVE_INDUSTRIES = 'SAVE_INDUSTRIES',
  SAVE_TARGET = 'SAVE_TARGET',
  SAVE_REGIONS = 'SAVE_REGIONS',
  SAVE_PRESET_TAGS = 'SAVE_PRESET_TAGS',
  UPDATE_SCREEN_STEP = 'UPDATE_SCREEN_STEP',
}


Я хочу сделать тип ResearchActions через Union что-бы потом юзнуть это в редюсере
Как лучше всего это сделать, что-бы не пришлось сначала писать константы
  • Вопрос задан
  • 38 просмотров
Решения вопроса 1
export type SaveCategoryAction = {
    type: 'SAVE_CATEGORY',
    foo: number;
    // .....
}

export type SaveProjectNameAction = {
    type: 'SAVE_PROJECT_NAME',
    bar: string;
    // .....
}

export type ResearchAction = SaveCategoryAction | SaveProjectNameAction;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы