首页 > 解决方案 > 打字稿不/不能在泛型上使用传递的类型

问题描述

我有一个接口BaseModel,它的方法只有 get 并且由类Model实现

//interface here...
interface BaseModel {
  get<T>(id: string): T;
}

//class here...

type Fields = {
  [k: string]: string;
}

class Model implements BaseModel{
  public get<Fields>(id: string) {
    ..logic here...
    return {...data} as Fields;
  }
}

现在当我检查它时,它说影子名称(无阴影变量),我检查了字段 get声明但从未使用过

我忘记了代码的任何部分吗?

任何想法都会很棒!

标签: javascriptnode.jstypescript

解决方案


您的类与您的接口具有相同的名称,这可能会导致您的 linter 感到困惑。重命名类或接口,linter 应该很高兴。


推荐阅读