【问题标题】:linter error static method lodash typescriptlinter 错误静态方法 lodash typescript
【发布时间】:2021-06-08 06:46:31
【问题描述】:

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


    【解决方案1】:

    有一些选择:

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

    【讨论】:

      猜你喜欢
      • 2014-06-04
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      • 2013-03-31
      • 2019-08-15
      • 2017-02-03
      相关资源
      最近更新 更多