Flow js不适用通用

问题描述 投票:0回答:1

我有一个功能(反应钩):

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]与属性ValuesType的第一个参数中的onLeavePage [2]不兼容。

我认为flowjs不了解TValue在handleLeavePage

中是通用的。

如何解决?

我有一个函数(反应钩子):function useHandles ({(onReject,makeData,}:ArgsType ){const handleLeavePage =(formData:...

javascript reactjs react-hooks flowtype
1个回答
0
投票
尝试this
© www.soinside.com 2019 - 2024. All rights reserved.