TypeScript generiska parametrar ger fel - '"'?' förväntades"
Jag är ganska ny på TypeScript och försöker lära mig hur man använder generiska typparametrar. Jag har en funktion och en typ som båda tar emot typargument, och jag får hela tiden detta fel: '?' förväntas i InputProps<T, K extends keyof T>-delen av funktionen.
type InputProps<T, K extends keyof T> = {
value: T[K]
}
function Input <T, K extends keyof T>({ value } : InputProps<T, K extends keyof T>) : void {
console.log(value);
}
TS Playground-länk
Kan någon förklara varför det förväntar sig att den delen ska vara en konditional? Jag har letat runt och verkar inte kunna hitta ett svar.
Svar #1
Du har redan definierat typen K i funktionssignaturen som K extends keyof T. När den används i parameterdefinitionen, använd bara K
function Input <T, K extends keyof T>({ value } : InputProps<T, K>) : void {
console.log(value);
}
