typescript - 是否可以根据另一种记录类型定义具有键和值的记录,但增加键名?
问题描述
如果我有以下记录类型,
type State = {
currentPartnerId: number;
currentTime: string;
};
我想创建一个新类型,它具有诸如getCurrentPartnerId
和属性之类的键,这些键是返回State
类型中匹配键的函数。
例如
type NewType = {
getCurrentParternerId: () => number;
getCurrentTime: () => string;
}
我尝试了以下,
type Dict<T extends keyof State> = { [key in `get${Capitalize<T>}`]: () => State[T] }
但这需要提供一个我不想做的类型参数......
解决方案
你非常亲近。
type Dict = { [key in keyof State as `get${Capitalize<key>}`]: () => State[key] }
推荐阅读
- reactjs - 对象原型只能是一个对象或 null:在 React 中未定义
- css - 对我的 iPhone XS Max 最小宽度感到困惑
- sql-server - 使用 SSMS 在非标准端口上连接到 SQL Server
- jenkins - Jenkins 多线程函数
- java - Flutter - 基于设备主题的自适应应用图标
- typescript - sass 在 bootstrap5 中为 next.js 覆盖默认颜色?
- python - 将参数传递给管道中的 FunctionTransformer
- android - 在 Flutter 中使用枚举和在 Android 中使用枚举一样昂贵吗?
- php - 扩展 Laravel/Lumen Query Builder 以自动添加 SQL 注释
- react-native - 在 React Native 中将注销按钮添加到抽屉导航器