I am writing a React-Native project with TypeScript, so far everything works fine but the following part throws an error:
export interface Country {
name: string;
cities: Record<string, string>;
}
The error is:
3:13 error 'Record' is not defined no-undef
My typescript uses the workspace version instead of VS Code's version.
Also, when I cmd+click on the Record, I can go to its definition, which is in the file lib.es5.d.ts:
type Record<K extends keyof any, T> = {
[P in K]: T;
};
So, Record is obviously defined and found under node_modules, however when I run the linter (@typescript-eslint), I can't fix this error
The content of my .vscode/settings.json looks like following:
"typescript.tsdk": "node_modules/typescript/lib"
I have not found any solutions, could you help please?
Typescript version: "4.1.4",
All of the values have the same format or type - that is, each has two properties: firstName and lastName . Any Record in TypeScript takes the form Record<K, T> , where K is the type of the key, and T is the type of the values. Above, we have defined a new type User for our values, and set our keys to type string .
This error might be related to the eslint configuration.
make eslint extend 'plugin:@typescript-eslint/recommended' by adding it to extends section of eslintrc file:
module.exports = {
...
extends: [
...
'plugin:@typescript-eslint/recommended'
]
....
};
and reload vscode's TypeScript Server. you can do so by typing Restart TS Server in vscode command palette.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With