https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react-router/index.d.ts
export function useParams<Params extends { [K in keyof Params]?: string } = {}>(): { [p in keyof Params]: keyof Params[p] extends undefined ? string | undefined : string };
- ジェネリック型パラメーター宣言
- key は Params のプロパティ名、value は string
= {}
はデフォルトパラメーター、この場合は空のオブジェクト
- 関数の引数、この場合はなし
- 関数の返り値
- ジェネリック型パラメーター同様、key が Params のプロパティ名、value は三項演算子で定義
- keyof Params[p] が undefined に代入可能な型なら、
- string | undefined
- 代入不可な型なら、
- string