我最近转向打字稿来编写React-Native应用程序,我注意到的一件事是,我可以使用类型而无需导入/导出它。我已将所有定义文件放在@types文件夹下。
在不导出和导入类型的情况下使用是否正确?
如果我从“ node_modules”导入外部类型(例如从react-native查看ViewStyle)并在我的界面中使用它,则它在IDE中显示“找不到名称”,我必须导出该接口并在需要时将其导入解决这个问题。
注意:我正在尝试减少导入,IDE:vscode
答案 0 :(得分:0)
第一个选项:
您可以使用TS namespaces-这将减少应用程序中的导入量(您不必手动从名称空间中导入每种类型)。例如,假设我们有app.namespace.ts
文件:
export namespace AppConfig {
export interface BaseConfig {
url: string;
port: number;
}
export type MyMap<T> = {
[key: string]: T;
}
export class Settings {
public p1: boolean;
public p2: number;
}
}
用法:
import { AppConfig } from './app.namespace';
// ...
baseConfig: AppConfig.BaseConfig;
myMap: AppConfig.MyMap<number>;
// ...
第二选项:
只需在项目中创建.d.ts
文件(通常,每个应用程序子模块都有其自己的模型文件,因此您可以在功能文件夹中创建some-feature.d.ts
)。在这种情况下,您可以使用d.ts文件中的任何类型而无需导入。