【发布时间】:2020-10-31 23:44:11
【问题描述】:
我正在尝试创建一个通用函数,该函数接受另一个函数并推断返回类型(类似于 map 的作用)。
我有这个代码:
type game_selector<T> = <T>( state : GT.game_state ) => T
export function useGameState<T>( gs : game_selector<T> ): T {
然后我这样称呼它:
const users = useGameState( gs => gs.users )
我假设从错误中可以正确推断出gs 的类型,因为它正确地找到了gs.users 的类型为Users。错误是:
TS2322: Type 'Users' is not assignable to type 'T'
如何正确输入这个函数?
【问题讨论】:
标签: typescript typescript-generics