typescript - 如何在函数中使用第二个参数来进行第一个参数的类型推断,同时保留第一个参数的类型?
问题描述
假设我有这个代码:
type Settings = Record<string, "required" | "optional">
type Item<T> = Partial<Record<keyof T, "required" | "optional">>
function create<T extends Settings>(settings: T, items: Item<T>) {}
const settings: Settings = {
email: "required"
}
create(settings, {
// No type inference for email
})
我希望第二个参数仅在键中具有第一个参数的类型推断,以便email
在您键入时显示在那里。Settings
如果我从中删除类型settings
并将其强制转换为,则可以修复它const
:
const settings = {
email: "required"
} as const
现在设置中的类型推断已经消失,因为设置现在是const
type 而不是Settings
. 请在这件事上给予我帮助
解决方案
推荐阅读
- javascript - 从数组中删除对象到给定日期javascript
- regex - 使用 linux 命令在会话日志文件中搜索工作流名称
- javascript - 在 2 个反应组件之间的提升状态出现错误需要并尝试在 2 个组件之间传递的各种方法
- clips - 语法错误 检查 Clips ide 中 deftemplate 的适当语法
- c++ - 如何传递可变参数模板函数?
- mysql - SQL Query 从表中获取不同的值以及有序行之间的差异
- c# - 找不到与输入匹配的已安装模板,在线搜索匹配的模板
- c++ - 输入和输出文件流在 C++ 中究竟是如何工作的
- spring-boot - 使用 TIBCO EMS EXPLICIT_CLIENT_DUPS_OK_ACKNOWLEDGE 的 Spring JMS 确认行为
- javascript - 我可以将我的 discord 机器人的控制台日志打印到 discord.js 中的特定通道吗?