[英]What is the most concise way to use reduce() with the + operator?
[英]JS Flow: What is the most clean and concise way to define an enum that is also treated like a type
我来自一种强类型语言,最近我开始使用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定义枚举的更简洁明了的方法。
您可以使用$ Values:
type CompletionStates = {
CompletionStateUnbegun: 'unbegun',
CompletionStateRunning: 'running',
CompletionStateLost: 'lost',
CompletionStateWon: 'won',
CompletionStateCancelled: 'cancelled',
};
export type CompletionState = $Values<CompletionStates>;
目前,我通过以下方式定义枚举
您在此处定义了const
和type
。 您还可以直接定义一个enum
:
export enum Animals {
DOG = "Dog",
CAT = "cat"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.