跨多个 .ts/.tsx 文件的自定义类型

我正在尝试使用 Typescript(和 React/Redux)构建我的第一个项目,并努力在多个文件之间传递我的自定义类型:比如让我的动作类型可供动作创建者、reducer 和每个组件调度其中一些动作。

那么,这里的正确方法是什么:

  • 在公共文件中声明所有自定义类型并在必要时导入?

  • 在相关文件中声明自定义类型并制作导入/导出网络?

  • 我还没有想到的其他选择?

我知道这个问题可能会因为自以为是而被关闭,但我在 typescriptlang.org 和其他资源(包括 SO 主题)中都找不到答案。


MM们
浏览 165回答 2
2回答

呼如林

我通常根据它们是更全球化还是更本地化来拆分我的类型。例如,如果我有一些仅在单个模块或文件中使用的类型,我将倾向于将这些类型存储在与实现相同的位置:/components&nbsp; /Search&nbsp; &nbsp; /Search.tsx&nbsp; &nbsp; /search.types.ts <- contains component types like props&nbsp; &nbsp; /SearchContainer.tsx对于更多的全局类型,我有一个单独的/types文件夹,通常位于根级别,我将其拆分为单独的名称空间。/types&nbsp; /search&nbsp; /authentication&nbsp; /actions&nbsp; /routing您在此types目录中存储的内容将特定于您的应用程序,但您了解总体思路。您还可以使用别名来导入类型,这样您就不必处理许多级别的相对导入:../../../types/something=>@types/something

犯罪嫌疑人X

将所有类型放入一个模块中并调用filename.d.ts//filename.d.ts&nbsp; declare module "my-module"{&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; export type int = number;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; {如果你想使用枚举将它放在.ts文件中(不是d.ts)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript