144

我有这个代码:

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

我想为此行禁用两种 ESLint 类型的检查,no-return-assignno-param-reassign

我试过这样:

/* 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 错误。

4

2 回答 2

270

如果要禁用多个 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(虽然如果您不能始终遵循某些规则,那么简单地禁用文件中的这些错误可能是一个更好的选择。)

于 2019-06-22T10:01:16.903 回答
14

您应该改用逗号。

/* 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);
于 2019-07-20T09:45:07.473 回答