【发布时间】:2019-06-09 15:03:44
【问题描述】:
我有以下几种:
interface CellsReducer {
source: number;
destination: number;
plan: string;
duration: number;
test: []
}
interface BarReducer {
baz: string;
}
interface AppState {
cells: CellsReducer;
bar: BarReducer;
}
我想用以下对象编写一个接口:
interface Props {
store: keyof AppState;
field: // AppState[store]
data: // AppState[store][field]
}
使用泛型对我没有任何帮助。在以下示例中,fields 以 never 类型结束:
type Stores<T> = keyof T;
type Fields<T> = keyof T[Stores<T>];
type Props<TState> = {
state: Stores<TState>;
field: Fields<TState>
}
有没有办法做到这一点?
【问题讨论】:
标签: typescript generics typescript-generics