[英]TypeScript Err: "Element implicitly has an 'any' type because expression of type 'any' can't be used to index type
[英]Element implicitly has an 'any' type because expression of type 'any' can't be used to index type
我遇到了许多其他有类似错误的问题,但看不出我的代码有什么问题。 您能确定如何修复ts(7053)
错误。
我收到的完整错误是
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ card: number; dialog: number; navigation: number; layer: number; blanket: number; modal: number; flag: number; spotlight: number; tooltip: number; }'.
代码是
const zIndexToName: Record<number, string> = Object.keys(layerIndex).reduce(
(acc: Record<number, string>, name: string) => {
const value: number = layerIndex[name]();
acc[value] = name;
return acc;
},
{}
);
而layerIndex
是
export const layerIndex = {
card: 100,
dialog: 300,
navigation: 200,
layer: 400,
blanket: 500,
modal: 510,
flag: 600,
spotlight: 700,
tooltip: 800
};
我可以将所有string
切换为any
但得到相同的错误, Element implicitly has an 'any' type because expression of type 'any' can't be used to index type
const zIndexToName: Record<number, any> = Object.keys(layerIndex).reduce(
(acc: Record<number, any>, name: any) => {
const value: number = layerIndex[name]();
acc[value] = name;
return acc;
},
{}
);
您缺少layerIndex
的索引类型。
export const layerIndex: { [key: string]: number }
我想 function 呼叫号码是一个错误。 它应该是
const value: number = layerIndex[name];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.