首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用来自@typescript-eslint的警告?

如何禁用来自@typescript-eslint的警告?
EN

Stack Overflow用户
提问于 2021-12-24 07:45:42
回答 3查看 1.1K关注 0票数 1

下面是我的代码:

代码语言:javascript
复制
interface DeleteRecipeFunctionContext {
  handleRecipeDelete: (id: string | number) => void;
}

const RecipeContext = createContext<DeleteRecipeFunctionContext>({
  handleRecipeDelete: (id) => null, // eslint-disable-line no-unused-vars
});

createContext要求我传递一个默认函数,所以在传入实际函数之前,我要将(id)=>null作为一个虚拟占位符传递。我收到@typescript-eslint的警告:

代码语言:javascript
复制
'id' is defined but never used  @typescript-eslint/no-unused-vars

编写// eslint-disable-warning/no-unused-vars不会禁用警告,但eslint-disable-warning会禁用警告。如何在不关闭所有警告的情况下关闭此警告?另一方面,我使用createContext (输入虚拟函数)的方法正确吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-12-24 11:08:21

若要选择性地禁用插件规则生成的警告,请使用以下语法

代码语言:javascript
复制
// eslint-disable-line <plugin>/<rule>

就你而言:

代码语言:javascript
复制
  handleRecipeDelete: (id) => null, // eslint-disable-line @typescript-eslint/no-unused-vars

我不知道您创建上下文的方法是否正确,这是您需要在应用程序中测试的内容。

票数 1
EN

Stack Overflow用户

发布于 2021-12-24 09:10:40

禁用警告应该是最后的选择。这里有两种选择:

  1. 丢弃参数:

handleRecipeDelete:(_) =>空

  1. 省略了参数:

handleRecipeDelete:() =>空

  1. 一个更健壮的选项是使您的上下文为空。

const RecipeContext = createContext();

并在访问上下文时执行空检查,通常是在自定义钩子中完成的:

函数useRecipeContext() { context = useContext(RecipeContext);if (!context) {抛出新错误(“缺失RecipeContext.Provider值”);}返回上下文;}

票数 1
EN

Stack Overflow用户

发布于 2021-12-24 07:55:17

在您的函数之上,可以添加// @ts-ignore

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70470644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档