为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

MM们 2023-04-27 16:57:21
我正在尝试使用 Typescript(和 React/Redux)构建我的第一个项目,并努力在多个文件之间传递我的自定义类型:比如让我的动作类型可供动作创建者、reducer 和每个组件调度其中一些动作。那么,这里的正确方法是什么:在公共文件中声明所有自定义类型并在必要时导入?在相关文件中声明自定义类型并制作导入/导出网络?我还没有想到的其他选择?我知道这个问题可能会因为自以为是而被关闭,但我在 typescriptlang.org 和其他资源(包括 SO 主题)中都找不到答案。
查看完整描述

2 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

我通常根据它们是更全球化还是更本地化来拆分我的类型。例如,如果我有一些仅在单个模块或文件中使用的类型,我将倾向于将这些类型存储在与实现相同的位置:


/components

  /Search

    /Search.tsx

    /search.types.ts <- contains component types like props

    /SearchContainer.tsx

对于更多的全局类型,我有一个单独的/types文件夹,通常位于根级别,我将其拆分为单独的名称空间。


/types

  /search

  /authentication

  /actions

  /routing

您在此types目录中存储的内容将特定于您的应用程序,但您了解总体思路。您还可以使用别名来导入类型,这样您就不必处理许多级别的相对导入:../../../types/something=>@types/something


查看完整回答
反对 回复 2023-04-27
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

将所有类型放入一个模块中并调用filename.d.ts


//filename.d.ts


  declare module "my-module"{

    

      export type int = number;

    

    

    {

如果你想使用枚举将它放在.ts文件中(不是d.ts)


查看完整回答
反对 回复 2023-04-27
  • 2 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信