javascript - 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”,
解决方案
此错误可能与eslint
配置有关。
通过将eslint'plugin:@typescript-eslint/recommended'
添加到文件extends
部分来扩展 eslint eslintrc
:
module.exports = {
...
extends: [
...
'plugin:@typescript-eslint/recommended'
]
....
};
并重新加载 vscode 的 TypeScript Server。你可以通过输入Restart TS Server
vscode 命令面板来实现。
推荐阅读
- javascript - 如何在提交的表单中获取 Select 控件的选定值
- javascript - javascript:json根据各自的id将数据推送到二维json数组
- java - 您如何命令 IntelliJ 在反映您的项目结构的“测试”目录中创建相应的 JUnit 测试?
- android - Android - 减少 APK 大小,针对不同架构分离 APK
- flutter - Listview builder 没有获取完整的 List Map 数据 Flutter
- java - 使用 PDFBOX 合并 PDF 仅在 AWS lambda 上给出 65536 错误的临时文件大小
- flutter - 我怎么能把一些按钮放在屏幕底部但是呢?
- julia - JLD2:使用函数保存/加载结构
- aws-lambda - 如何在无服务器框架应用程序中实现两个独立的服务?
- javascript - 将参数转发给纯函数的综合和简单方法?