使用 ESLint 禁止 MouseEvent (Typescript)

发布于 2025-01-09 21:12:53 字数 556 浏览 1 评论 0原文

我试图强制执行一条规则来禁止这样的事情:

const submit = (event: React.MouseEvent) => {};

而是这样做:

const submit: React.MouseEventHandler = (event) => {};

我尝试过这样的事情:

"no-restricted-imports": ["error", {
  "paths": [{
    "name": "react",
    "importNames": ["MouseEvent"],
    "message": "Please use MouseEventHandler."
  }]
}]

但只有当我这样做时它才有效:

import { MouseEvent } from 'react';

如果人们像这样使用它:React.MousEvent ESLint 不会出错。有什么想法吗?

I am trying to enforce a rule to disallow things like this:

const submit = (event: React.MouseEvent) => {};

and instead do this:

const submit: React.MouseEventHandler = (event) => {};

I tried with something like this:

"no-restricted-imports": ["error", {
  "paths": [{
    "name": "react",
    "importNames": ["MouseEvent"],
    "message": "Please use MouseEventHandler."
  }]
}]

But it only works if I do this:

import { MouseEvent } from 'react';

If people use it like this: React.MousEvent ESLint doesn't error. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

原野 2025-01-16 21:12:54

您可以使用名为 typescript-eslint/ban-types

您可以将其添加到您的 .eslintrc.js 文件中

"@typescript-eslint/ban-types": ["error",
    {
        "types": {
            "React.MouseEvent": { "message": "Please avoid using React.MouseEvent" }
        },
        "extendDefaults": true
    }
],

You could use ESLint rule called typescript-eslint/ban-types

You can add this in your .eslintrc.js file

"@typescript-eslint/ban-types": ["error",
    {
        "types": {
            "React.MouseEvent": { "message": "Please avoid using React.MouseEvent" }
        },
        "extendDefaults": true
    }
],
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文