首页 > 解决方案 > 转到类型定义不适用于 Typescript 类型中具有泛型的对象

问题描述

我有一些这样的代码:

type GA<s extends string> = { [name in s]: number };
type A = 'somePropName';

export const b: GA<A> = {
  somePropName: 10,
};


const c = b.somePropName;

类型一切正常,c 变成了数字。但是,如果我们尝试在 vscode(或其他地方)中的 somePropName 上“转到定义”——这是不可能的。这很奇怪,因为在“b”中有从 b.somePropName 到 somePropName 的引用。

如何使用“转到定义”来实现相同的逻辑?可能吗?有什么限制?

顺便说一句,您可以尝试使用相同的代码在https://www.typescriptlang.org/play/index.html上“转到定义” 。它也不起作用,就像在 vscode 中一样。所以,这不是vscode的问题。这是游乐场的链接

标签: typescriptvisual-studio-code

解决方案


推荐阅读