linter错误静态方法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(_)) })
    

最新更新