映射类型不能声明属性或方法-TypeScript



我有一个接口,它应该有特定枚举键类型的键,但当我声明类型时,它会给出以下错误:

映射类型不能声明属性或方法。

这是代码:

enum myEnum {
propOne = 'propOne',
propTwo = 'propTwo'
}
export interface myInterface {
[key in myEnum]: anotherInterface;
}

我试着像这样指定类型,但它不起作用,给了我语法错误:

export interface myInterface {
[key in keyof typeof myEnum]: anotherInterface;
}

我还尝试使用普通对象而不是枚举,但它给出了相同的错误。

您需要使用Mapped类型,而不是接口:

export type MyInterface = {
[key in myEnum]: AnotherInterface;
}

最新更新