JS Flow:定义枚举的最干净,最简洁的方法是什么,它也被视为类型

时间:2018-03-02 11:05:16

标签: javascript react-native ecmascript-6 flowtype

来自强类型语言我最近采用了React Native的第一步。我使用Flow作为静态类型检查器。但是我还没有找到一种干净简洁的方法来定义一个被视为类型的枚举类型并触发编译器'向我建议VS Code中的可能值。

目前我尝试以下列方式完成此任务

export const CompletionStates = {
    CompletionStateUnbegun: 'unbegun',
    CompletionStateRunning: 'running',
    CompletionStateLost: 'lost',
    CompletionStateWon: 'won',
    CompletionStateCancelled: 'cancelled',
}

export type CompletionState = 
    | CompletionStates.CompletionStateUnbegun 
    | CompletionStates.CompletionStateRunning  
    | CompletionStates.CompletionStateLost 
    | CompletionStates.CompletionStateWon 
    | CompletionStates.CompletionStateCancelled;

有没有人知道使用Flow定义枚举的更简洁和干净的方法。

2 个答案:

答案 0 :(得分:2)

您可以使用$ Values:

App\Infrastructure\Model\MyDB\PublicSchema\GroupModel:
    tags: [pomm.model]

App\Infrastructure\Model\MyDB\PublicSchema\UserGroupModel:
    tags: [pomm.model]

App\Infrastructure\Model\MyDB\PublicSchema\UserModel:
    tags: [pomm.model]

答案 1 :(得分:0)

  

目前我按以下方式定义枚举

您在此处定义了consttype。您还可以直接定义enum

export enum Animals {
  DOG = "Dog", 
  CAT = "cat"
}