如何推断函数返回类型以及参数名称和类型?

时间:2019-12-11 23:31:06

标签: typescript typescript-typings

我想在react native中创建一个钩子,在它的参数中我想传递一个函数及其变量,例如:

const useHook = (functionName, functionArgs) {...}

我的问题是:如何推断'functionName'参数类型和返回类型。

以便当我编写useHook并传递函数时,intelesense会自动向我显示函数args的名称和类型?

我尝试了一下,但是没有用:

const useHook = <T, R>(fun: (args: T) => R, args: T) => {
  fun(args);
}

1 个答案:

答案 0 :(得分:1)

您的函数签名足够好,您只是忘了返回结果:

const useHook = <T, R>(fun: (args: T) => R, args: T) => {
  return fun(args);
}

或简称:

const useHook = <T, R>(fun: (args: T) => R, args: T) => fun(args);