TS2315
El tipo no es genérico
Type 'Label' is not generic.Las palabras del propio compilador. Sin traducir — es la cadena que pegaste en el buscador.
Se proporcionaron argumentos a un alias que no declara parámetros de tipo.
Reproducción
type Label = string type Bad = Label<number>
La compilación afirma que esto emite exactamente este código.
Por qué lo dice el compilador
Los corchetes angulares instancian una declaración genérica. Un alias fijo como `Label = string` no tiene nada que sustituir, así que `Label<number>` no tiene más sentido que pasar un argumento a una constante.
Arreglos
- 01
type Label = string type NameLabel = Label
Elimina el argumento de tipo cuando el alias sea fijo a propósito.
- 02
type Label<T> = { value: T } type NumberLabel = Label<number>
Declara un parámetro cuando el alias deba variar con su entrada.
Conclusión
La declaración decide si un tipo es genérico; los corchetes angulares en el uso no pueden convertirlo en uno.
