给定从另一个模块导入的类型定义,如何重新导出它?
/**
* @flow
*/
import type * as ExampleType from './ExampleType';
...
// What is the syntax for exporting the type?
// export { ExampleType };
最佳答案
这个问题的最简单形式是“如何导出类型别名?”简单的答案是“with export type
!”
例如,您可以编写
/**
* @flow
*/
import type * as ExampleType from './ExampleType';
export type { ExampleType };
您可能会问“为什么
ExampleType
是类型别名?”好吧,当你写type MyTypeAlias = number;
您正在显式创建别名
MyTypeAlias
的类型,别名number
。当你写import type { YourTypeAlias } from './YourModule';
您将隐式创建别名
YourTypeAlias
的类型,该别名为YourTypeAlias
的YourModule.js
导出的别名。