【发布时间】:2019-04-29 17:35:54
【问题描述】:
我正在使用 TypeScript 构建一个 React 应用程序。
我正在尝试定义一个函数(对于 HOC),该函数接受一个名为 value 的参数,该参数可以是字符串或数字,也可以是返回字符串或数字的函数。
所以我尝试的是:
const myHOC = (
value: string | number | () => string | () => number
) => WrappedComponent => // ...
但是 TSLint 抱怨第二个 | 之后的所有内容(所以基本上是关于这两个函数)。
上面写着:
[ts] Type expected. [1110]
对于(),
[ts] ',' expected. [1005]
对于=> 和
[ts] 'string' only refers to a type, but is being used as a value here. [2693]
[tslint] Forbidden bitwise operation [no-bitwise]
分别为string / number。
我如何告诉 TypeScript value 是什么?
【问题讨论】:
-
“TSLint 抱怨” - 它到底在说什么?
-
@kinduser 编辑了问题。
-
我猜它无法正确解析它。试试
string | number | (() => string) | (() => number);
标签: reactjs typescript typescript-typings higher-order-components typescript-types