Javascript 泛型';返回类型';需要1个类型参数。ts(2314)
我最近从Flow转换到了Typescript,在转换一些代码库时,我遇到了几个错误,大多数错误都被实用程序类型包记录或替换,但是我找不到有助于我处理以下代码的文档或答案Javascript 泛型';返回类型';需要1个类型参数。ts(2314),javascript,reactjs,typescript,flowtype,Javascript,Reactjs,Typescript,Flowtype,我最近从Flow转换到了Typescript,在转换一些代码库时,我遇到了几个错误,大多数错误都被实用程序类型包记录或替换,但是我找不到有助于我处理以下代码的文档或答案 const toObject = (keys: { reduce: (arg0: (object: any, key: any) => any, arg1: {}) => void }) => keys.reduce((object: any, key: string | number) => {
const toObject = (keys: { reduce: (arg0: (object: any, key: any) => any, arg1: {}) => void }) =>
keys.reduce((object: any, key: string | number) => {
const o = object;
o[key] = undefined;
return object;
}, {});
export type Pick<
Origin extends Record<string, any>,
Keys extends ReadonlyArray<keyof Origin>
> = $ObjMapi<ReturnType<typeof toObject, Keys>, <Key>(k: Key) => $ElementType<Origin, Key>>;
export type TypeOrVoid = <T>(arg0: T) => T | void;
export type Diffable<O extends {}> = $ObjMap<O, TypeOrVoid>;
constToObject=(键:{reduce:(arg0:(对象:any,键:any)=>any,arg1:{}=>void})=>
keys.reduce((对象:any,key:string | number)=>{
常数o=对象;
o[键]=未定义;
返回对象;
}, {});
导出类型选择<
原始记录,
键扩展只读数组
>=$ObjMapi$ElementType>;
导出类型TypeOrVoid=(arg0:T)=>T | void;
导出类型Diffable=$ObjMap;
更具体地说,泛型类型“ReturnType”的错误需要1个类型参数。ts(2314)
onReturnType
如何在保留相同函数的同时将类型参数减少为1个?Flow
$Call
似乎没有替代品,它只接受一个类型参数,即函数类型。在您的例子中,函数类型是typeof-toObject
。整个TypeScript表达式将是ReturnType
,并将解析为any
,因为您正在返回reduce
的结果,该结果在代码中键入为any
。不幸的是,我不熟悉流类型。Ts类型非常灵活,所以很有可能在Ts中编写这些类型。您能否解释一下您希望这些类型做什么,然后我可能会提供帮助?