为什么在for ... of循环中收到“ no-unused-vars”警告,该如何解决?

Ben*_*nez 9 javascript ecmascript-6 reactjs eslint

我正在使用Create React App创建的React应用程序。在每个for ... of循环中,我得到这个奇怪的'no-unused-vars'警告,指向我在for语句中实例化的变量。

ESLint告诉我我的变量未使用,但实际上已使用。

有人会收到类似的警告吗?是ESLint错误还是我在这里做错了什么?
这不是什么大问题,但是很烦人。
谢谢你的帮助。

   for (let track of tracks) {
        let chords = RavelFormatter.splitEntries(track.pitches)
        for (let chord of chords) {
            var n = chord.split(':')
            total += n.length
        }
    }
Run Code Online (Sandbox Code Playgroud)

控制台输出

  Line 13:  'track' is defined but never used       no-unused-vars
  Line 15:  'chord' is defined but never used       no-unused-vars
Run Code Online (Sandbox Code Playgroud)

And*_*eas 11

请将babel-eslint软件包升级到版本10.0.3

这很可能会修复那些在循环内使用 var 并错误地报告为未使用的误报。


小智 8

看到问题,此问题与eslint的特定版本有关,您可以将eslint版本恢复回v6.1.0来解决此问题。

  • 我升级到 `eslint` 6.8.0 和 `babel-eslint` 10.1.0 来解决这个问题。比回国好多了。 (8认同)

Jos*_*ter 7

升级到eslint6.8.0 和babel-eslint10.1.0。

这是一个已知问题,babel-eslint与所eslint-scope使用的版本有关。看起来它是从eslint6.1.0开始的。

只需将您的软件包升级到(至少):

"babel-eslint": 10.1.0,
"eslint": 6.8.0
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看 Github 问题: