我在TypeScript中定义了一个联合类型来表示操作:
type Action = {
type: 'reset',
} | {
type: 'add',
payload: number
} | {
type: 'minus',
payload: number
}
在某些函数中,我想引用联合类型的一部分,例如:
function handleAdd(state: State, action: {
type: 'add',
payload: number
}): State => {
// handle the add
}
有没有简化打字
action
的方法,使得我不必重复完整的定义呢?{
type: 'add',
payload: number
}
在这里吗?
更新:
我不想分别预定义每个操作类型。是否有另一种解决方案,比如 Action[type='add']
?