Flow js 不应用泛型



我有一个函数(反应钩子(:

function useHandles<TPreparedValues, TValues>({
onReject,
makeData,
}: ArgsType<TPreparedValues, TValues>) {
const handleLeavePage =  (formData: TValues) => onReject(makeData(formData))
return {
handleLeavePage
}
}

其中 ArgsType 是:

type ArgsType<TPreparedValues, TValues> = {
onReject: (TPreparedValues) => Promise<void>,
makeData: TValues => TPreparedValues
};

然后我使用这个钩子:

const {
handleLeavePage,
} = useDocumentHandles<DocumentEditInputType, ValuesType>({
onReject,
makeData,
})

如您所见,我定义了TValues = ValuesType。当然,flowjs 应该从onReject类型中猜测它。

但是当我使用handleLeavePage时,我收到一个错误:TValues[1] 与属性onLeavePage的第一个参数中的ValuesType[2] 不相容。

我认为flowjs不明白TValue在handleLeavePage中是通用的。

如何解决?

试试这个

键入useHandles函数的输出,而不是声明handleLeavePage参数的类型。

相关内容

  • 没有找到相关文章

最新更新