我有一个Actions
类型需要映射到actionMap
变量中的一组回调。
但是,我不确定如何强制类型的第一个通用元素的Action
类型。显然key in keyof Actions
不是在这里做的伎俩。我需要用什么代替?
export interface Action<T, U> {
type: T,
data: U,
}
export type Actions =
| Action<"something", {}>
| Action<"somethingElse", {}>
const actionMap: { [key in keyof Actions]: (action: Actions) => any } = {
// I'd like the value of the `type` property of all my actions enforced here. Ex:
// "something": (action) => {}
// "somethingElse": (action) => {}
}
如果我问错了问题,什么是更好的问题?我不确定我是否相应地使用了行话。