带返回的泛型函数参数的TypeScript参数类型推断?
我试图创建一个泛型函数,它接受另一个函数并推断返回类型,类似于map所做的 我有以下代码:带返回的泛型函数参数的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
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;