如何在typescript中重载可选参数?

如何在typescript中重载可选参数?,typescript,Typescript,我有这样的界面: 导出接口操作{ [ActionEnum.FOO](someParam:{},负载:字符串):void [ActionEnum.BAR](someParam:{},有效负载:PayloadType):void [ActionEnum.BAZ](someParam:{}):void } 如您所见,第二个参数是可选的 我有一个功能: type分派=(type:K,payload?:P)=>ReturnType 第一个参数是ActionEnum。第二个是来自同一动作的有效载荷。 这

我有这样的界面:

导出接口操作{
[ActionEnum.FOO](someParam:{},负载:字符串):void
[ActionEnum.BAR](someParam:{},有效负载:PayloadType):void
[ActionEnum.BAZ](someParam:{}):void
}
如您所见,第二个参数是可选的

我有一个功能:

type分派=(type:K,payload?:P)=>ReturnType
第一个参数是
ActionEnum
。第二个是来自同一动作的有效载荷。 这是工作。TS如果我通过有效负载,请正确检查有效负载的类型。但如果有必要,我可能不会通过有效载荷。此情况下没有TS错误

如何在特定情况下说明第二个参数是否可选。例如:

Dispatch(ActionEnum.FOO) // error, because we have second parameter in Action
Dispatch(ActionEnum.BAZ) // no error, because we have not second parameter in Action

我在
Actions
界面中看不到第二个参数选项,你能解释一下吗?我想你想要的是一种更简洁的方式,但我现在想不起来