带返回的泛型函数参数的TypeScript参数类型推断?

带返回的泛型函数参数的TypeScript参数类型推断?,typescript,typescript-generics,Typescript,Typescript Generics,我试图创建一个泛型函数,它接受另一个函数并推断返回类型,类似于map所做的 我有以下代码: type game_selector<T> = <T>( state : GT.game_state ) => T export function useGameState<T>( gs : game_selector<T> ): T { 我假设从错误中可以正确地推断出gs的类型,因为它正确地将gs.users的类型查找为users。错误是: TS

我试图创建一个泛型函数,它接受另一个函数并推断返回类型,类似于map所做的

我有以下代码:

type game_selector<T> = <T>( state : GT.game_state ) => T

export function useGameState<T>( gs : game_selector<T> ): T {
我假设从错误中可以正确地推断出gs的类型,因为它正确地将gs.users的类型查找为users。错误是:

TS2322: Type 'Users' is not assignable to type 'T'

如何正确键入此函数?

此处有一个不必要的附加泛型类型:

type game_selector<T> = <T>( state : GT.game_state ) => T;

此处有一个不必要的附加泛型类型:

type game_selector<T> = <T>( state : GT.game_state ) => T;

的确外部T被内部T遮蔽。谢谢。我没有意识到您不需要类型定义,因为我认为它与匿名泛型类型相同。这正是我现在想要的。外部T被内部T遮蔽。谢谢。我没有意识到您不需要类型定义,因为我认为它与匿名泛型类型相同。这正是我现在想要的。
type game_selector<T> = ( state : GT.game_state ) => T;