如何禁用 eslint 下一行的多个规则

2022-08-30 01:49:17

我有这个代码:

const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);

我想为此行禁用两种 ESLint 类型的检查,即无返回分配无参数重新分配

我试过了:

/* eslint-disable-next-line no-return-assign eslint-disable-next-line no-param-reassign */
const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);

但是我的编辑器仍然显示eslint(no-return-assign)lint错误。


答案 1

如果要禁用多个 ESLint 错误,可以执行以下操作(请注意逗号):

  • 对于下一行:
// eslint-disable-next-line no-return-assign, no-param-reassign
( your code... )
  • 对于行:
( your code... ) // eslint-disable-line no-return-assign, no-param-reassign
  • 或者对于整个代码块(请注意,这仅适用于多行注释语法):
/* eslint-disable no-return-assign, no-param-reassign */
( your code... )
/* eslint-enable no-return-assign, no-param-reassign */

请参阅 ESLint 文档的配置规则部分。

(尽管如果您不能一直遵循某些规则,则简单地禁用.eslintrc文件中的这些错误可能是更好的选择。


答案 2

您应该改用逗号。

/* eslint-disable-next-line no-return-assign, no-param-reassign */
const subTotal = orderInfo.details.reduce((acc, cv) => acc += Number(cv.price) * Number(cv.quantity), 0);