我如何写"高级/嵌套"类似变量,如T
正在此函数声明中使用箭头函数?
function wrapInObject<T>(key: string) {
return (x: T) => ({ [key]: x });
}
我已经尝试/希望做这样的事情,但它不起作用。
const wrapInObject = <T>(key: string) => (x: T) => ({ [key]: x });
答案 0 :(得分:1)
如注释中所述,当通用箭头函数写入tsx
文件时,会发生错误。在ts
中,问题中的语法运行正常。
由于语法含糊不清,这是tsx
文件中泛型的已知限制,记录为here。根据链接中的建议,您可以通过向T
const wrapInObject = <T extends {}>(key: string) => (x: T) => ({ [key]: x });