给定从另一个模块导入的类型定义,如何重新导出它?

/**
 * @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的类型,该别名为YourTypeAliasYourModule.js导出的别名。

07-28 03:02