Standardjs нет неиспользуемых переменных, пока он используется

#reactjs #typescript #visual-studio-code #vscode-settings #standardjs

#reactjs #typescript #visual-studio-code #standardjs

Вопрос:

В моем проекте Typescript React я определил:

 export type NavState = { mounted: boolean }
  

и затем в моем компоненте я использовал тему, подобную:

 import { NavState } from '../../models/nav'

class Nav extends React.Component<any, NavState> {
  state: NavState = {
    mounted: false
  }
}
  

но я получил красное подчеркивание для NavState в моем импорте, и там написано:

 'NavState' is defined but never used. (no-unused-vars)standard(no-unused-vars)
  

В моем package.json у меня есть это:

   "standard": {
    "ignore": [
      "node_modules/**",
      "**/__generated__/"
    ],
    "parser": "@typescript-eslint/parser",
    "plugins": [
      "@typescript-eslint"
    ]
  }
  

и мой vs-код settings.json выглядит следующим образом:

 {
  "standard.autoFixOnSave": true,
  "standard.enable": true,
  "standard.run": "onType",
  "standard.validate": [
    { "language": "javascript", "autoFix": true },
    { "language": "javascriptreact", "autoFix": true },
    { "language": "typescript", "autoFix": true },
    { "language": "typescriptreact", "autoFix": true }
  ]
}
  

Почему Standardjs не может понять, что я использовал псевдоним типа? и как я могу это исправить?

Ответ №1:

Это должно сработать:

 import { NavState } from '../../models/nav'  //eslint-disable-line
  

Обратите внимание на комментарий в строке импорта.

Проверьте документы для получения дополнительной информации.