typescript - 从扩展接口扩展联合类型
问题描述
如果我有这个接口定义:
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
}
解决方案
我们类型。
type ModalReason = 'backdropClick' | 'escapeKeyDown';
type CustomModaReason = ModalReason | 'cancelClick';
interface ModalProps {
onClose: (event: {}, reason: ModalReason): void;
}
interface CustomModalProps {
onClose: (event: {}, reason: CustomModaReason): void;
}
推荐阅读
- python - 尝试在 iOS 设备上使用 ReportLab 创建 PDF 时出现权限错误
- javascript - Flexibel location of hover message while preventing message to reach beyond object limits
- javascript - 使用 Javascript 将图像序列转换为视频
- sql-server - SQL Server - 包含 TOP 1 选择列的视图
- arrays - 用值填充数组到下一个空行
- javascript - 我想将我当前的 url 添加到属性内容的元标记
- jhipster - 我可以使用 SpringFox 生成客户端代码吗?
- flutter - 无法在 Flutter TabBarView 中本地化字符串
- java - 如何将保存在 firestore 数据库中的地理点数组检索到 latLng 数组列表
- python - 使用 Selenium 和 Python 查找存在 data-tb-test-id 属性而不是 id 的元素