typescript - 在类型或接口中混合动态和静态对象键
问题描述
我需要这样的东西:
interface IMyInterface {
Payload?: object;
[key: string]: boolean | string | number | Date;
}
但是上面的代码给了我以下错误
“对象”类型的属性“有效负载”| undefined' 不能分配给字符串索引类型'string | 号码 | 布尔值 | 日期'。
interface
有没有办法通过or实现我想要的类型type
?
解决方案
在您的示例中:您在 IMyInterface: 定义中的第二行[key: string]: boolean | string | number | Date;
表明,所有字段都是类型boolean | string | number | Date
您可以使用联合类型定义的是:
type MyType =
{[key : string]: boolean | string | number | Date} & { Payload?: object}
推荐阅读
- django - 打印 Django 项目的结构
- html - 使无序列表元素显示在相同的高度
- python - 如何修复列表索引超出范围
- php - 如何获取表格以仅打印文件中的某些信息?
- android - Room 报错:预打包的数据库对 FTS 表的架构无效
- svelte - 尝试使用 webpack4 构建一个苗条的应用程序
- tensorflow - 在序列模型中将 Keras 中的两个损失函数与 ndarray 输出相结合
- android - 未使用 proguard 显示的广告
- react-native - 在 windows 上开发 RN 应用程序然后将 repo 文件下拉到 mac 时推荐 .gitignore 配置?
- mysql - 如何查找具有所有其他列值的所有行