Infer 的使用
infer 只能用在條件型別中
// work
type Item<T> = T extends (infer U)[] ? U : never;
// wrong
type Item<T extends (infer U)[]> = U;type MyStore = {
getState: () => { count: number }
}
type State = ExtractState<MyStore> // State 推斷為 { count: number }