javascript - Typescript 获取泛型中的键类型

标签 javascript typescript generics

我有一个名为 Store 的类,它获取通用的状态类型。

class Store<T> {

}

当我需要扩展商店时,我会做类似的事情:

interface State {
   entities: { [id: string] : Todo }
}

class Todos extends Store<State> {

}

但现在我想在我的商店中添加一个返回实体的方法。

class Store<T> {

  private _store: BehaviorSubject<T>;

  constructor(initialState) {
    super();
    this._store = new BehaviorSubject(initialState);
  }

  getEntities() {
     return this._store.map(state => state.entities);
  }      
}

在这种情况下,如何将 getEntities 的返回类型定义为 Todo 类型?

最佳答案

您可以像在类声明中定义泛型类型一样定义 getEntities 泛型返回类型:

getEntities() : BehaviorSubject<T> {
   return this._store.map(state => state.entities);
}

关于javascript - Typescript 获取泛型中的键类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48066286/

相关文章:

javascript - 2个像python一样的IF条件相等

javascript - 检查 javascript 变量作为 chrome 中的代码弹出窗口

javascript - 如何让 Visual Studio 自动包含从 Typescript 编译的 JS 文件?

泛型方法中所需的 Java 冗余转换

javascript - 将 MongoDB 调用包装在 Promise 中

javascript - MxCodec 解码功能不适用于 XML

typescript - 如何在 VS2015 中手动更新 typescript

java - Lambda 表达式和通用接口(interface)

java - 使用泛型的 Collector.toMap

javascript - 带间隔的 knockout Ajax 仅显示更改的数据