linter 错误静态方法 lodash 打字稿

问题描述 投票:0回答:2

我在调用

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) })
typescript lodash
2个回答
3
投票

有一些选项:

  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(_)) })
    

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.