Qué significa TS2769: No hay sobrecarga que coincida y cómo solucionarlo
Referencia del error
TS2769: No hay sobrecarga que coincida
Lenguaje
Severidad
MediaCuándo ocurre
El error TS2769 de TypeScript se reporta cuando una llamada a función no coincide con ninguna de las firmas de sobrecarga declaradas.
Posibles soluciones
Verifica todas las firmas de sobrecarga y asegúrate de que tu argumento coincida con una de ellas. Agrega una nueva sobrecarga si necesitas soportar un tipo adicional. Si usas una librería, verifica las definiciones de tipo para saber qué acepta realmente la función.
Errores relacionados
Más detalles
El error TS2769 de TypeScript se reporta cuando una llamada a función no coincide con ninguna de las firmas de sobrecarga declaradas. TypeScript verifica cada sobrecarga en orden y reporta este error si ninguna acepta los tipos de argumentos proporcionados.
Por qué ocurre
- •Llamar a una función con un tipo de argumento no cubierto por ninguna sobrecarga.
- •Pasar un tipo unión donde cada sobrecarga solo acepta una rama de la unión.
- •Un desajuste de tipo en una llamada a función de librería de terceros.
- •Argumentos de tipo genérico incorrectos que fallan todas las verificaciones de sobrecarga.
Posibles soluciones
Verifica todas las firmas de sobrecarga y asegúrate de que tu argumento coincida con una de ellas. Agrega una nueva sobrecarga si necesitas soportar un tipo adicional. Si usas una librería, verifica las definiciones de tipo para saber qué acepta realmente la función.
Ejemplos
Código que causa el error
function process(input: string): string;
function process(input: number): number;
function process(input: string | number): string | number {
return input;
}
process(true); // boolean not in overloadsError en la terminal
error TS2769: No overload matches this call.
Código corregido
function process(input: string): string;
function process(input: number): number;
function process(input: string | number): string | number {
return input;
}
process("hello"); // OK
process(42); // OKPractica en inglés
¿Cómo le explicarías un TS2769: No Overload Matches a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis