【发布时间】:2021-06-15 00:40:34
【问题描述】:
当管道数据类型不同时,我会收到输入错误。如何满足 TypeScript?
const square = (x: number) => x * x
console.log(
R.pipe(
R.add, // two values
square // one value
)(1, 2)
)
[tsserver 2769] [E] 没有重载匹配这个调用。最后一个重载 出现以下错误。
'(x: number) => number' 类型的参数不可分配给 '(x: (b: number) => number) => number' 类型的参数。
参数“x”和“x”的类型不兼容。
Type '(b: number) => number' 不可分配给 type 'number'。
我安装了@types/ramda。
【问题讨论】:
-
您可以试试
R.pipe(R.add, square)(1)(2)看看是否有帮助?例如,将 1 和 2 分开到不同的括号对 -
@YaronGrushka 对参数进行柯里化会产生:[tsserver 2349] [E] 此表达式不可调用。 “号码”类型没有呼叫签名。 [tsserver 2554] [E] 预期 0 个参数,但得到 1 个。
标签: typescript eslint ramda.js