【发布时间】:2017-07-05 21:48:21
【问题描述】:
假设我有一个流类型Suit,我想将它组合成另一种称为Card 的类型。
// types.js
type Suit =
| "Diamonds"
| "Clubs"
| "Hearts"
| "Spades";
type Card = {
...
suit: Suit,
...
}
不是直接在 suit.js 中硬编码 Suit 字符串,是否可以基于 JavaScript 原语(数组)动态生成 Suit 类型?说...
// constants.js
const SUITS = ['Diamonds', 'Clubs', 'Hearts', 'Spades'];
这样,套装可以只定义一次,并在一个 JavaScript 构造中,以便在应用程序的其他部分重复使用。例如,应用程序中其他地方的组件需要访问所有可用的套装:
// component.js
SUITS.map((suit: Suit): void => { ... });
【问题讨论】:
-
我不是 100% 确定,但我不认为 Flow 目前具有此功能。如果我需要做你所描述的事情,我通常会写两次字符串文字(一次作为类型,一次作为值)。
标签: javascript types flowtype