【发布时间】:2019-10-19 18:29:55
【问题描述】:
背景
我正在src/@types/index.d.ts 上制作我的自定义index.d.ts 文件。
我需要像下面这样合并我的类型。
// src/@types/index.d.ts
declare namespace Admin {
interface InitialStateFromDB {
teamSettings: {
teamPasswords: TeamPassword[],
teamCount: number
},
adminPasswords: string,
postInfos: PostInfo[] | undefined
}
interface InitialState extends Omit<InitialStateFromDB, 'adminPasswords'> {
adminPasswords: AdminPassword
}
}
问题
我收到错误:VSCode Intellisense 的 Cannot find name 'Omit'.ts(2304)。但是编译效果很好。
所以,我做了省略类型type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>(复制到here)
编译后又报错:'Omit' was also declared here.
在这种情况下我该怎么办?忽略 IntelliSense 的错误?
【问题讨论】:
-
你尝试重启 VSCode 了吗?我有时会遇到输入错误,这些错误会在重新启动后消失。
-
@Mathyn 是的,我做到了,但同样的错误。
-
你确定 VSCode 和你的编译器使用相同的 Typescript 版本吗?
-
@Mathyn 不,VSCode 使用 3.4.5,我的是 3.5.1
-
如果您使用 3.4.5 版本编译会出现编译错误吗?
标签: typescript