【发布时间】:2021-11-01 12:37:19
【问题描述】:
我正在努力实现以下目标:
type MyFormProps<FieldName extends keyof FormShape, FormShape extends Record<string, any>> = {
id: string;
value: FormShape[FieldName];
}
const formPropsBuilder = <FieldName extends keyof FormShape, FormShape extends Record<string, any>>(
name: FieldName,
form: FormShape,
): MyFormProps<FieldName, FormShape> => {
return {
id: name,
value: form[name],
}
}
但我收到一条错误消息,提示名称的类型为 string | number | symbol。
这很奇怪,因为 FormShape 确实扩展了Record<string, any>,所以它的键必须是字符串。
正常吗? 如果是这样,有什么办法让它工作吗?
谢谢 ;)
【问题讨论】:
标签: typescript