我在
"noImplicitAny": true
中启用了 tsconfig.json
,并且我的代码空间中出现 TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'
错误。
我想在一行中禁用此规则,我尝试使用下面的代码,但它不起作用。
const mockElement = () => ({
mount: jest.fn(),
destroy: jest.fn(),
on: jest.fn(),
update: jest.fn(),
});
const mockElements = () => {
const elements = {};
return {
create: jest.fn((type) => {
// getting error from the bellow line
// tslint:disable-next-line: no-implicit-any
elements[type] = mockElement();
// getting error from the bellow line
// tslint:disable-next-line: no-implicit-any
return elements[type];
}),
getElement: jest.fn((type) => {
// getting error from the bellow line
// tslint:disable-next-line: no-implicit-any
return elements[type] || null;
}),
};
};
对于仅针对单行禁用规则有什么建议吗? (在 tsconfig.json 中设置
"noImplicitAny": false
可以工作,但不可接受,因为它根本禁用了规则)
您可以使用 @ts-expect-error ts 指令来忽略错误,例如:
// @ts-expect-error Parameter 'name' implicitly has an 'any' type.ts(7006)
这是 ESLint 的东西,而不是打字稿编译器的东西。在你的源中尝试这个
// eslint-disable-next-line @typescript-eslint/no-explicit-any
tho,这是针对 EXplicit any 的,但我认为您可以通过在您需要的一行上显式定义它来解决问题?