如何修改使用Pick选取的TypeScript类型键名?
TypeScript 类型属性重命名实现方案
如果你想在选取Item的title属性后将其重命名为newTitle,Pick本身无法直接完成属性重命名,你可以通过以下两种方式实现:
直接定义(简单场景)
如果只是处理单个属性,直接手动映射类型即可:
type Item = { title: string } type NewItem = { newTitle: Item['title'] }
通用工具类型(复用场景)
如果需要频繁处理属性重命名,可以封装一个通用的工具类型,结合Omit和映射类型实现:
type Item = { title: string } // 定义通用重命名工具类型 type RenameProperty<T, OldKey extends keyof T, NewKey extends string> = Omit<T, OldKey> & { [K in NewKey]: T[OldKey] } // 使用工具类型生成新类型 type NewItem = RenameProperty<Item, 'title', 'newTitle'>
这个工具类型的逻辑是:先用Omit<T, OldKey>移除原类型中需要重命名的属性,再通过映射类型添加新命名的属性,最后将两部分交叉合并为一个新类型。
内容的提问来源于stack exchange,提问作者JoeTidee
相关产品推荐
相关产品推荐

