Javascript 元素隐式地具有一个';任何';类型,因为表达式的类型为';任何';can';不能用于索引类型
我已经通过了许多其他问题,有类似的错误,但没有看到我的代码有什么问题。您能否确定如何修复ts(7053)错误 我收到的全部错误是Javascript 元素隐式地具有一个';任何';类型,因为表达式的类型为';任何';can';不能用于索引类型,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我已经通过了许多其他问题,有类似的错误,但没有看到我的代码有什么问题。您能否确定如何修复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;
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;
},
{}
);
我可以将所有string
切换到any
,但得到相同的错误,of元素隐式具有“any”类型,因为类型“any”的表达式不能用于索引类型
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;
},
{}
);
const zIndexToName:Record=Object.keys(layerIndex).reduce(
(acc:记录,名称:任何)=>{
常量值:number=layerIndex[name]();
acc[值]=名称;
返回acc;
},
{}
);
您缺少layerIndex
的索引类型
export const layerIndex: { [key: string]: number }
我想对这个号码的函数调用是个错误。应该是
const value: number = layerIndex[name];
const value: number = layerIndex[name];