首页 > 解决方案 > TypeScript“记录”未定义

问题描述

我正在使用 TypeScript 编写一个 React-Native 项目,到目前为止一切正常,但以下部分会引发错误:

export interface Country {
    name: string;
    cities: Record<string, string>;
}

错误是:

3:13  error  'Record' is not defined  no-undef

我的打字稿使用工作区版本而不是 VS Code 的版本。另外,当我 cmd+click 时Record,我可以转到文件中的定义lib.es5.d.ts

type Record<K extends keyof any, T> = {
    [P in K]: T;
};

所以,Record显然是在 node_modules 下定义和找到的,但是当我运行 linter (@typescript-eslint) 时,我无法修复这个错误

我的内容.vscode/settings.json如下所示:

"typescript.tsdk": "node_modules/typescript/lib"

我没有找到任何解决方案,请您帮忙吗?

打字稿版本:“4.1.4”,

标签: javascripttypescriptreact-nativevisual-studio-code

解决方案


此错误可能与eslint配置有关。

通过将eslint'plugin:@typescript-eslint/recommended'添加到文件extends部分来扩展 eslint eslintrc

module.exports = {
    ...
    extends: [
        ...
        'plugin:@typescript-eslint/recommended'
    ]
    ....
};

并重新加载 vscode 的 TypeScript Server。你可以通过输入Restart TS Servervscode 命令面板来实现。


推荐阅读