TypeScript · Senior · Frage 53 von 75

Wie zieht man Routenparameter aus einem Pfad-String-Typ heraus?

type Params<P> = P extends `${string}:${infer K}/${infer R}`
  ? K | Params<R>
  : P extends `${string}:${infer K}` ? K : never;
type T = Params<'/users/:id/posts/:postId'>; // 'id' | 'postId'
Antwort zeigen

Richtige Antwort: Rekursive Template Literal Types mit infer

Erklärung

Router wie TanStack Router und typisierte Express-Helfer nutzen das, um params.id typsicher zu machen.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 53

Teste dich selbst

Mach den Test TypeScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen