【问题标题】:Eslint warrnings dont allow me to push to repoEslint 警告不允许我推送回购
【发布时间】:2020-01-06 06:11:11
【问题描述】:

我有两个问题:

1) 我无法推送到我们的团队仓库,因为我的代码中有警告,并且当我尝试推送时 eslint 会做出反应。

2) 我实际上在我当地的环境中得到了这些警告,而团队中没有其他人这样做。

问题是我是团队中唯一一个在尝试推动时出错的人。

我做了什么:

安装了旧版本的 eslint (5.16.0) -- 没有任何改变。

尝试修改代码中的警告:

关于未使用代码的警告:

const App: React.FC = () => {
  {
    const [view, setView] = useState('SignUp') // error here saying view is declared but not used.

    /*
    const VIEW_STATES: {[key: string]: string}  = {
      SignUp: <SignUp />,
      Success: <SuccessView />,
      Error: <ErrorView />,
    }
*/
    return (
      <>
        <Header />
        <main className="opt-main opt--bg-sm">
          <div className="-container">
            <div className="-row">
              <div className="-offset-sm-2 -col-sm-8 -offset-md-3 -col-md-6">
                <div className="opt--container">
                  <SignUp />
                </div>
              </div>
            </div>
          </div>
        </main>
        <Footer />
      </>
    )
  }
}

当删除上面未使用的代码时,我得到:

“嵌套块是多余的”...

同样,这只发生在我的电脑上。同事们没有这个问题,我现在卡住了,无法推动我的更改。

也试过了:

{
  "extends": "react-app",
  "rules": {
    "Handling warnings": {
      "quiet": true,
      "max-warnings": -10
    }
  }
}

我能做什么?

【问题讨论】:

  • viewsetView 未在您发布的代码中使用
  • 你可以在紧急情况下禁用 Eslint,但不推荐,你应该删除或评论你在这里没有使用的代码

标签: javascript reactjs typescript visual-studio-code eslint


【解决方案1】:

在这几个小时之后,在发布了一个注意到有人在我们的环境中安装了 husky 之后。

由于 eslint 显示错误,我认为这是问题所在。

卸载了 husky,所有问题都随之发泄。

如果可以,将删除该问题,因为它在这种情况下具有误导性。 希望有人可能会发现这一点。

【讨论】:

    【解决方案2】:

    视图已声明但未使用

    这似乎是真的:你应该使用它,或者删除它,这是正确的方法。你确实提到你试过了,然后点击:

    “嵌套块是多余的”

    这是由于一对额外的外部{ } 大括号。第一行的末尾包含() =&gt; {,但下一行也不必要地以{ 开头。删除多余的{ 和最后的},它应该可以正常工作。

    【讨论】:

    • 添加到蒂姆的正确答案。根据文档使用 而不是 >:reactjs.org/docs/fragments.html
    • 感谢您的回答,但正如我试图指出的那样,我是唯一遇到此问题的人。这只是一个不让我推动的例子。其他设置相同的同事没有这个问题。在这个阶段修改多个文件是我们不会做的,因为它是不断变化的。我正在寻找一种方法来修复我的环境以匹配其他人。
    • 我看到@CodingLittle:从问题或标题中看不清楚,您还没有提供有关 ESLint 设置的任何详细信息。你使用的是什么版本的 ESLint,什么配置,你和你的同事是如何运行它的?添加 --debug 运行 eslint 的输出可能也有一些线索。
    • 正在查看我的包裹,显然我们使用的是 husky,这为我造成了这些问题。我认为这是一个 eslint 问题,因为 eslint 是显示问题的那个。我卸载了 husky,我的问题也随之发泄。
    【解决方案3】:

    您可以使用以下注释在一行中禁用 eslint 规则:

    const mycode = {..} // eslint-disble line
    

    【讨论】:

      猜你喜欢
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 2017-10-04
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多