【发布时间】:2021-05-24 14:32:26
【问题描述】:
这是codesanbox,这是代码:
type Tags = "TAG1" | "TAG2";
export type S<Tag extends Tags> = {
tag: Tag;
get<K, R>(k: K): R;
};
const store = {
one: "ONE"
};
type Keys = keyof typeof store;
const s: S<"TAG1"> = {
tag: "TAG1",
get<K extends Keys>(k: K) {
return store[k];
}
};
get<K extends Keys>(k: K) { 出现错误
Type '
(k: K) => { one: string; }[K]' 不可分配给类型 ' (k: K) => R'。 参数“k”和“k”的类型不兼容。 类型 'K' 不可分配给类型 '"one"'.ts(2322
我可以输入这样的键值吗?
【问题讨论】:
标签: typescript typescript-generics