从扩展接口扩展联合类型



如果我有这个接口定义:

interface ModalProps {
onClose: (event: {}, reason: 'backdropClick' | 'escapeKeyDown'): void;
}

现在我想添加一个额外的原因:

interface CustomModalProps {
onClose: (event: {}, reason: 'backdropClick' | 'escapeKeyDown' | 'cancelClick'): void;
}

有没有什么方法可以从CustomModalProps中引用ModalProps-onClose原因,这样我就不必复制值了?

interface CustomModalProps extends ModalProps {
onClose: (event: {}, reason: ??? &| 'cancelClick'): void
}

Us类型。

type ModalReason = 'backdropClick' | 'escapeKeyDown';
type CustomModaReason = ModalReason | 'cancelClick';
interface ModalProps {
onClose: (event: {}, reason: ModalReason): void;
}
interface CustomModalProps {
onClose: (event: {}, reason: CustomModaReason): void;
}

最新更新