react 報錯 元素隱式具有 "any" 型別,因為型別為 "string" 的表示式不能用於索引型別 "{}"。 在型別 "{}" 上找不到具有型別為 "string" 的引數的索引簽名。

落花看风雪發表於2024-06-03
interface itemType {  
  legoBlockId: string;  
  legoBlockNumber: string;  
  // 其他屬性...  
}  
  
colorListAll().then((res: { result: Array<itemType> }) => {  
  // 使用 Record<string, any> 或更具體的型別(如果已知)  
  const dic: Record<string, any> = {}; // 或者 const dic: Record<string, {}> = {};  
  console.log(res.result);  
  res.result.forEach((item: itemType) => {  
    if (!dic[item.legoBlockNumber]) {  
      // 如果只是想跟蹤編號,則初始化為任何值(例如 null 或空物件)  
      dic[item.legoBlockNumber] = null; // 或者 dic[item.legoBlockNumber] = {};  
    }  
    // 如果想儲存整個 item,則 dic[item.legoBlockNumber] = item;  
  });  
  // ... 後續處理  
});

重點:Record<string, any>

相關文章