我正在尝试使用 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
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
将所有类型放入一个模块中并调用filename.d.ts
//filename.d.ts
declare module "my-module"{
export type int = number;
{
如果你想使用枚举将它放在.ts文件中(不是d.ts)
添加回答
举报
0/150
提交
取消