Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
@typescript-eslint/no-unused-vars falso positivo en declaraciones de tipos

Hay un problema con @typescript-eslint/no-unused-vars . Entonces, tenemos el tipo

 type SomeType = (name: string) => void;

Y tenemos el error @typescript-eslint/no-unused-vars en la cadena con declaración de tipo, que dice que 'nombre' está definido pero nunca se usa .

ejemplo de uso de tipo:

 export const LogSomeInfo: SomeType = (name: string) => { const a = name; console.log(a); };

O:

 interface CheckboxPropsType { value: string, onClick(value: string): void }

Y eslint se rompe en la cadena onClick..., diciendo que el valor está definido pero nunca se usa. ¡Incluso si el tipo se asignó correctamente y el controlador onClick real usa el valor!

Pregunta: ¿Qué tiene de malo esta regla y por qué se activa en este caso? ¿Por qué eslint reconoce la declaración de tipo para funciones en tipos/interfaces como función regular? ¿Es un problema con mi configuración de eslint?

"eslint": "^7.7.0", "@typescript-eslint/eslint-plugin": "^3.6.1", "@typescript-eslint/parser": "^4.0.1", "eslint-config- airbnb-mecanografiado": "^9.0.0",

 { "extends": [ "airbnb-typescript", "airbnb/hooks", "plugin:react/recommended", "plugin:@typescript-eslint/recommended" ], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 2018, "sourceType": "module", "project": "./tsconfig.json" }, "settings": { "react": { "version": "detect" } }, "plugins": ["@typescript-eslint", "react-hooks", "react"], "env": { "browser": true }, "rules": { "object-curly-newline": 0, "import/named": ["error"], "indent": ["error", 4], "react/jsx-indent": ["error", 4], "comma-dangle": ["error", "never"], "import/prefer-default-export": "off", "react/jsx-fragments": "off", "arrow-body-style": "off", "object-curly-spacing": "off", "@typescript-eslint/indent": ["error", 4, {"SwitchCase": 1}], "@typescript-eslint/explicit-module-boundary-types": "off", "no-undef": "error", "react/jsx-indent-props": ["error", 4], "max-len": ["error", { "code": 120 }], "react/prop-types": "off" } }
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Pregunta similar realizada anteriormente: ¿Por qué ESLint lanza 'no-unused-vars' para la interfaz de TypeScript?

Deshabilite '@typescript-eslint/no-unused-vars': 0 y en su lugar use "strict": true , "noUnusedLocals": true y "noUnusedParameters": true , en tsconfig.json

over 4 years ago · Santiago Trujillo Report

0

Fuente: Soy el mantenedor del proyecto typescript-eslint .

Si actualiza sus versiones de @typescript-eslint/parser y @typescript-eslint/eslint-plugin a v4.1.0, podrá usar los últimos cambios que hacen que @typescript-eslint/no-unused-vars funcione correctamente para todos los casos.


Aparte, usar v3.x del complemento pero v4.x del analizador lo pondrá en un estado realmente extraño con un comportamiento indefinido y no compatible.

Debe asegurarse de utilizar siempre la misma versión de ambos paquetes, ya que cada versión se publica de forma conjunta.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!