【发布时间】:2020-10-14 00:20:47
【问题描述】:
我在 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']?
【问题讨论】:
-
将联合部分定义为单独的类型或接口有什么问题?
-
@НиколайГольцев 只想探索更多可能性
标签: typescript typescript-typings