[英]How to declare string > string > number structure in TypeScript?
我需要声明一个 useState,但我不太了解 TypeScript。 我应该写什么来代替XXXXXX
。 我有一个严格的 JSON 字符串 > 字符串 > 数字结构,我将从它填充selectedLayoutItemIds
。 顶级 id 称为eventTimeId
,第二级我称为layoutItemId
,第三级count
。 你能帮点忙吗?
const [selectedLayoutItemIds, setSelectedLayoutItemIds] = useState<
{ [eventTimeId: string]: XXXXXX } | undefined
>();
您只需要像在常规 json 中所做的那样描述数据的结构,并且 1 级和 2 级键将被视为字符串:
interface LayoutItemIds {
eventTimeId: {
layoutItemId: {
count: number;
}
}
}
const [selectedLayoutItemIds, setSelectedLayoutItemIds] = useState<LayoutItemIds | undefined>();
这是一个可以看到它运行的操场。
最后我声明了一个新接口:
export type LayoutItemIdsWithAvailability = {
[layoutItemId: string]: number;
};
并在这里使用:
const [selectedLayoutItemIds, setSelectedLayoutItemIds] = useState<
{ [eventTimeId: string]: LayoutItemIdsWithAvailability } | undefined
>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.