linter 错误静态方法 lodash 打字稿

linter error static method lodash typescript

linter 在调用 _.isEqual 时报告了这个错误:

https://github.com/typescript-eslint/typescript-eslint/blob/v4.22.0/packages/eslint-plugin/docs/rules/unbound-method.md

你知道我该如何纠正这个错误吗?

const liste = computed(() => { return _.uniqWith(_.map(liste.value, 'contrat'), _.isEqual) })

有一些选项:

  1. 由于 _.isEqual 不在其主体内使用 this 在这种特殊情况下您可以安全地忽略此规则:

    /* eslint-disable-next-line @typescript-eslint/unbound-method */
    const liste = computed(() => { return _.uniqWith(_.map(liste.value, 'contrat'), _.isEqual) })
    
  2. 您可以使用包装函数来保留调用上下文:

    const liste = computed(() => { return _.uniqWith(_.map(liste.value, 'contrat'), (a, b) => _.isEqual(a, b)) })
    
  3. 显式绑定调用上下文。有点丑,但确实有用:

    const liste = computed(() => { return _.uniqWith(_.map(liste.value, 'contrat'), _.isEqual.bind(_)) })