TypeScript · Senior · Pytanie 53 z 75
Jak wyciągnąć parametry trasy z typu stringa ścieżki?
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'- ✓Poprawna odpowiedź: Rekurencyjnymi typami template literal i
infer - 2Tylko w runtime przez wyrażenia regularne
- 3Przez
keyofna stringu
Wyjaśnienie
Routery jak TanStack Router i typowane helpery dla Expressa używają tego, by params.id było bezpieczne typowo.