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

IT技术 javascript reactjs ecmascript-6 eslint
2021-05-19 02:20:45

我正在开发使用 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
        }
    }

控制台输出

  Line 13:  'track' is defined but never used       no-unused-vars
  Line 15:  'chord' is defined but never used       no-unused-vars
4个回答

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

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

请参阅issue 12117,它与特定版本的 ESLint 相关。您可以将 ESLint 版本恢复到 v6.1.0 来解决此问题。

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

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

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

"babel-eslint": 10.1.0,
"eslint": 6.8.0

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

我能够通过使用它来修复它。

let track = null;

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