簡體   English   中英

如何在 TypeScript 中聲明字符串 > 字符串 > 數字結構?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM