我有一个名为 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/