react 报错 元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "{}"。 在类型 "{}" 上找不到具有类型为 "string" 的参数的索引签名。

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>

posted @ 2024-06-03 20:22  落花看风雪  阅读(14)  评论(0编辑  收藏  举报