typescript - 索引签名参数类型必须是“字符串”或“数字”
问题描述
我正在使用打字稿在 React 中建立一个电子商店,其中我有一个 Cart 和一个 CartItem 类,如下所示:
export class CartItem {
public id: bigint;
public file: File;
public constructor(file: File) {
this.id = file.id;
this.file = file;
}
}
export class Cart{
public items: { [id: bigint]: CartItem };
public constructor() {
this.items = {};
}
}
问题是,An index signature parameter type must be either 'string' or 'number'
现在 id 必须是 bigint ,这与索引签名参数不兼容。关于如何解决这个问题的任何建议?
解决方案
您可以简单地将您的 bigint 转换为字符串。
或者,您也可以获取 bigint 的哈希值。这将为您的字符串提供一个设定的长度,如果您使用真正巨大的数字可能会更好。
如果您需要原始 id,如果您使用哈希方法,只需将其添加到 basketitem 类。
推荐阅读
- continuous-integration - 由于对业务组的访问权限,使用 Mule Maven 插件将 Cloudhub 部署到业务组失败
- java - 使用jackson从webfront解析json字符串时如何忽略无效值并设置空值?
- c - “数据定义没有类型或存储类”在 C 中有效吗?
- angularjs - 如何在获取 api 请求中发送日期为 YYYY/mm/dd 而不是 angularjs 中的长格式 2019-12-09T18:15:00.000?
- c++ - 为 glm 翻译添加统一向量在 OpenGL 中不起作用
- reactjs - material-table怎么做汇总行?反应
- javascript - 未定义的属性名称(本地数据)
- r - 通过带有单个 geom_point() 的 ggplot 绘制具有多列(所有 1:7 行)的数据表,使用美学对它们进行不同的着色
- python - ,numpy如何从某个位置扩展条号?
- amazon-web-services - aws lex 人工切换/干预