如何在 useCallback 中使用 ESlint 允许 IIFE 语法?
Posted
技术标签:
【中文标题】如何在 useCallback 中使用 ESlint 允许 IIFE 语法?【英文标题】:How to allow IIFE syntax with ESlint in useCallback? 【发布时间】:2021-05-03 14:54:36 【问题描述】:我有以下 lint 错误:
它会出现Insert ';' prettier/prettier
错误,如果我让我的 IDE 修复它,我在第一行有一个分号:
;(async () =>
然后它抱怨违反了另一条规则:unnecessary semicolon
并让我删除分号等。
如何在我的项目中允许 IIFE 语法?
【问题讨论】:
为什么首先要有 IIFE?async
/await
没用,因为您没有对 Promise
做任何事情。
这不是我的意思,我不是在寻找代码审查,我只是尝试过这个,我很可能需要这个合成器
第 2 行:(async() => )()
要么不使用 IIFE(或 async/await),要么调整 prettier 和 ESlint 规则。好像是caused by the no-semi
option of prettier。
或者添加一个简单的// eslint-disable-next-line no-extra-semi
。
【参考方案1】:
没有办法让更漂亮和风格的 lint 规则都满意,因为它们执行不同的约定。
如果您使用 prettier - 您需要禁用风格 lint 规则。 如您所见,风格化 lint 规则可以并且将与 prettier 冲突。
这在prettier docs中有所提及。
使用eslint-config-prettier 可以帮助您更正配置。
【讨论】:
以上是关于如何在 useCallback 中使用 ESlint 允许 IIFE 语法?的主要内容,如果未能解决你的问题,请参考以下文章
如何在功能组件中混合使用 useCallback 和 useRef